在C#中创建一个巨大的虚拟文件

我想创建一个巨大的虚拟文件说1〜2 GBs几秒钟。
这里是我写的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或更多分钟来写这样一个大但伪文件。有没有其他更快的方式这样做?

问候。

只需创建文件,寻找一个适当的大偏移,并写一个字节:

FileStream fs = new FileStream(@"c:\tmp\huge_dummy_file", FileMode.CreateNew);
fs.Seek(2048L * 1024 * 1024, SeekOrigin.Begin);
fs.WriteByte(0);
fs.Close();

这将产生一个2GB文件,基本上不可预测的内容,这应该是为您的目的。

http://stackoverflow.com/questions/1881050/creating-a-huge-dummy-file-in-a-matter-of-seconds-in-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在C#中创建一个巨大的虚拟文件