我应该先构建一个字符串然后写入文件吗?

xbo*_*nez 3 c# file-io

我正在处理的程序现在必须生成一个文件.我最好先将文件的内容生成为字符串,然后将该字符串写入文件,还是直接将内容添加到文件中?

一个优于另一个有什么优势吗?

该文件大小约为0.5 - 1MB.

jve*_*ema 9

如果你随时写一个文件,你就可以不把所有内容都保存在内存中,如果它是一个足够大的文件并且你经常刷新流.

但是,您将更有可能遇到部分写入文件的问题,因为您在一段时间内而不是一次性完成IO.

就个人而言,我使用StringBuilder构建它,然后一次性将它全部写入磁盘.

  • 如果部分写入的文件有问题,一个选项是写入临时文件,然后在文件准备好后将其移动到预期位置.这样你就可以获得双重好处; 不要在内存中存储太多,同时确保生成的文件一致. (3认同)