我需要读取文件的所有字节并将此字节数组写入另一个文件。即我需要在Windows Mobile 6.1中使用File.ReadAllBytes和File.WriteAllBytes的相同行为。
这项工作的最快方法是什么?
答案 0 :(得分:3)
您是否真的需要内存中的整个文件?如果没有,我只是使用类似的东西:
public static void CopyStream(Stream input, Stream output)
{
byte[] buffer = new byte[32 * 1024]; // Or whatever size you want
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
}
然后相应地打开每个文件:
using (Stream input = File.OpenRead(...), output = File.OpenWrite(...))
{
CopyStream(input, output);
}