如何在使用.NET时限制文件碎片?

在我的应用程序中,我随着时间的推移将小数据位收集到更大的文件中。 结果,目标文件变得过分碎片化。 使用.NET可以做些什么来限制输出文件的碎片?

您可以故意在较大的块中增加文件大小,并在内部监视当前使用结束的位置。 这样,您可以为系统提供更好的机会为文件分配连续的空间。

可靠地减少文件碎片的唯一方法是一次性为整个文件分配空间(用零填充文件的其余部分,作为填充)。 但是只有了解文件的最终大小,才能做到这一点。

另一种选择是在每次增量期间(例如,100 MB)将文件大小增加一定值。 这样你就会有较少的碎片整理块。