使用C#中的文件时确定缓冲区大小
本文关键字:缓冲区 文件 使用 | 更新日期: 2023-09-27 18:27:33
我有一个简单的代码,它将文本文件组合成一个文本文件:
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
,我有Ram的R mb
,我的Hd的块大小是B kb
——有什么公式可以用来计算空闲缓冲区大小吗?
4KB是一个不错的选择。有关详细信息,请查看以下内容:
带流的文件I/O-最佳内存缓冲区大小
问候