Hi,
I need to create an empty (or at least garbage) file of a certain size.
I’m doing it the way below, but it is rather slow – any ideas on a
quicker way?
File.open(“tmp.txt”, ‘w’) { |f| 10.megabytes.times { f.write “a” } }
Thanks!
~ Mark
Hi,
I need to create an empty (or at least garbage) file of a certain size.
I’m doing it the way below, but it is rather slow – any ideas on a
quicker way?
File.open(“tmp.txt”, ‘w’) { |f| 10.megabytes.times { f.write “a” } }
Thanks!
~ Mark
On May 15, 2008, at 4:09 PM, Mark D. wrote:
~ Mark
fd.truncate( 2 ** 20 )
fd.truncate( 2 ** 20 )
Thanks that’s great, didn’t know about that method!
Robert K. wrote:
2008/5/16 Mark D. [email protected]:
fd.truncate( 2 ** 20 )
Thanks that’s great, didn’t know about that method!
If it does not work on your platform, you can speed up your solution
by writing larger chunks:BUFFER = (“a” * 1024).freeze
File.open(“tmp.txt”, ‘wb’) { |f| 10.kilobytes.times { f.write BUFFER } }
Here is another way:
size = 2**30
File.open(“tmp.txt”,“wb”){|f|f.seek(size-1);f.write(“\0”)}
Regards,
Park H.
2008/5/16 Mark D. [email protected]:
fd.truncate( 2 ** 20 )
Thanks that’s great, didn’t know about that method!
If it does not work on your platform, you can speed up your solution
by writing larger chunks:
BUFFER = (“a” * 1024).freeze
File.open(“tmp.txt”, ‘wb’) { |f| 10.kilobytes.times { f.write BUFFER } }
Kind regards
robert
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs