1

我需要读取文件的所有字节并将这个字节数组写入另一个文件。即我需要Windows Mobile 6.1中File.ReadAllBytesFile.WriteAllBytes的相同行为。

完成这项工作的最快方法是什么?

4

1 回答 1

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);
}
于 2012-11-02T10:26:53.510 回答