Да, используйте FileStream
для буферизации соответственно. Например, что-то вроде этого должно дать вам представление:
using (var inputStream = File.Open(path, FileMode.Read),
outputStream = File.Open(path, FileMode.Create))
{
var bufferRead = -1;
var bufferLength = 4096;
var buffer = new byte[bufferLength];
while ((bufferRead = inputStream.Read(buffer, 0, bufferLength)) > 0)
{
outputStream.Write(buffer, 0, bufferRead);
}
}
Отрегулируйте bufferLength
соответственно. Вы могли бы потенциально построить вокруг этого вещи, чтобы повысить его общую скорость, но небольшая настройка все равно должна обеспечить достаточно значительное улучшение.