Вы можете легко использовать File.ReadAllBytes
, чтобы прочитать файл, и File.WriteAllBytes
, чтобы записать его обратно.
Если вам нужно больше контроля вместо чтения всего файла в память, вы можете использовать File.OpenRead
и File.OpenWrite
для чтения и записи, используя Stream
. Если вы сделаете это, убедитесь, что вы утилизируете его - рекомендуется использовать ключевое слово using
.
Вот пара примеров
public void CopyFileByReadingItAllToMemory() {
byte[] data = File.ReadAllBytes(@"C:\Temp\input");
File.WriteAllBytes(@"C:\temp\output", data);
}
public void CopyFileWithoutReadingItAllToMemory() {
using (Stream input = File.OpenRead(@"C:\Temp\input"))
using (Stream output = File.OpenWrite(@"C:\Temp\output"))
{
while (true) {
int value = input.ReadByte();
if (value == -1) {
break;
}
output.WriteByte((byte)value);
}
}
}