我有一个简单的代码,它将文本文件合并为一个文本文件:
void Main()
{
const int chunkSize = 2 * 1024; // 2KB
var inputFiles = new[] { @"c:\1.txt", @"c:\2.txt", @"c:\3.txt" };
using (var output = File.Create(@"c:\output.dat"))
{
foreach (var file in inputFiles)
{
using (var input = File.OpenRead(file))
{
var buffer = new byte[chunkSize];
int bytesRead;
while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
}
}
}
我的问题是关于chunkSize
size.
我如何知道我选择的号码是否正确? (1024*2)
我正在尝试找到空闲公式:
假设每个文件大小为F mb
, 我有R mb
Ram 的大小和我的 HD 的块大小是B kb
- 有没有我可以建立的公式来查找空闲缓冲区大小?
4KB是一个不错的选择。欲了解更多信息,请查看:
带流的文件 I/O - 最佳内存缓冲区大小 https://stackoverflow.com/questions/3033771/file-io-with-streams-best-memory-buffer-size
问候
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)