Necesito escribir el contenido de un archivo en otro archivo utilizando los métodos File.OpenRead y File.OpenWrite. No puedo entender cómo hacerlo.¿Cómo escribir el contenido de un archivo en otro?
¿Cómo puedo modificar el siguiente código para que funcione para mí.
using (FileStream stream = File.OpenRead("C:\\file1.txt"))
using (FileStream writeStream = File.OpenWrite("D:\\file2.txt"))
{
BinaryReader reader = new BinaryReader(stream);
BinaryWriter writer = new BinaryWriter(writeStream);
writer.Write(reader.ReadBytes(stream.Length));
}
¿Qué pasa con el código que publicaste? ¿Qué error obtienes? –
¿Estoy confundido acerca de si debería leer todos los bytes de una vez o no? ¿Cuáles son las implicaciones y además de stream.length es largo mientras que reader.ReadBytes espera int. – Sumee
su pregunta es clave, ¿debería leer todos los bytes de una vez o no? La implicación es la cantidad de memoria que desea que utilice su proceso cuando se llama a este fragmento de código (en función del tamaño del archivo, por supuesto). Leerlo todo de una vez podría costar mucha memoria. Otras respuestas muestran cómo dividirlo en mordidas de 1K o 4K. Si lo parte, tenga en cuenta que podría resultar en una penalización de rendimiento. Esas son sus compensaciones. Analice su situación y elija cuál se ajusta mejor a sus necesidades. –