【发布时间】:2010-12-25 06:16:03
【问题描述】:
我想在几秒钟内创建一个 1~2 GB 的巨大虚拟文件。 这是我用 C# 写的:
file.writeallbytes("filename",new byte[a huge number]);
另一种指示状态的方式如下:
long FSS = din.TotalFreeSpace;
long segments = FSS / 10000;
long last_seg = FSS % 10000;
BinaryWriter br = new BinaryWriter(fs);
for (long i = 0; i < segments; i++)
{
br.Write(new byte[10000]);
this.label2.Text = "segments write :" + i.ToString() + "\r\n" + "segments remain :" + ((segments-i)+1).ToString();
Application.DoEvents();
}
br.Write(new byte[last_seg]);
this.label2.Text += "\r\nDone!";
br.Close();
din 是磁盘信息对象
使用这两种方法,编写如此大但虚拟的文件需要大约 2 分钟或更长时间。还有其他更快的方法吗?
【问题讨论】:
-
BinaryWriter 用于以 .NET 可以读取的格式将 POCO 写入文件,这不是您所期望的名称。