Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create new file with specific size

Tags:

c#

.net

I need to create files that contain random data but are of a specific size. I cannot figure out a efficient way of doing this.

Currently I am trying to use the BinaryWriter to write an empty char array to a file but I get an Out of Memory Exception when trying to create the array to the specific size

char[] charArray = new char[oFileInfo.FileSize];

using (BinaryWriter b = new BinaryWriter(File.Open(strCombined, FileMode.Create), System.Text.Encoding.Unicode))
{
    b.Write(charArray);
}

Suggestions?

Thanks.

like image 646
SnAzBaZ Avatar asked Dec 07 '11 13:12

SnAzBaZ


People also ask

How do I make a fake file size?

There are two commands you can enter in the Command Prompt to create a dummy file: fsutil file createnew filename size. fsutil file createnew pathfilename size.

How do I create a big dummy file in Windows?

Open up Windows Task Manager, find the biggest process you have running right click, and click on Create dump file . This will create a file relative to the size of the process in memory in your temporary folder. You can easily create a file sized in gigabytes.


1 Answers

I actually needed to use this:

http://msdn.microsoft.com/en-us/library/system.io.filestream.setlength.aspx

using (var fs = new FileStream(strCombined, FileMode.Create, FileAccess.Write, FileShare.None))
{
    fs.SetLength(oFileInfo.FileSize);
}

oFileInfo is a custom file info object of the file I want to create. FileSize is its size as an int.

Thanks.

like image 178
SnAzBaZ Avatar answered Oct 19 '22 12:10

SnAzBaZ