我有一个简单的代码,可以将文本文件合并成一个文本文件:
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
大小有关。我如何知道我选择的数字是否正确?(1024 * 2)
我试图找到空闲公式:
假设每个文件大小为
F mb
,我有R mb
的RAM和我的硬盘块大小为B kb
- 是否有任何公式可以构建以找到空闲缓冲区大小?