vb.net编写特定大小的文件

时间:2014-01-17 02:47:10

标签: vb.net

我正在创建一个应用程序,我需要编写文件(很多很多)。但是,我不想写太大的文件,因为使用它们的程序会崩溃:)

基本上,我想创建不大于特定大小(可能是5MB)的文件。我的数据是CSV格式的,我将逐行写入或写入一些stringbuilder来创建我需要的文件。

问题:有没有办法编写数据并创建一组不大于设定大小的文件?

1 个答案:

答案 0 :(得分:1)

我假设您一次创建一行CSV行。

如果你在文件上使用StreamWriter(希望你没有把它全部保存在内存中):

  1. 创建新记录(一串CSV项目)。
  2. 查看StreamWriter的BaseStream.Length属性(警告 - 您需要使用AutoFlush使该属性与之前编写的数据一致)。
  3. 添加您的流位置,新记录的长度和行分隔符的长度(通常为1或2,具体取决于Cr,Lf或CrLf),并查看它是否超出您的阈值。
  4. 如果不是,请写入换行符,记录并继续。如果是,请关闭StreamWriter并为新文件打开一个新文件,写下记录,然后继续。