Perl 用虚拟数据填充文件的一部分
我有一个文件,其中包含许多较小文件的数据。我希望这个文件能够一次写入多次(写入文件的不同部分) 我设想的做法是在一个文件中存储许多100MB的文件,并在单个文件中存储这些部分开始和结束位置的引用 我的问题是,向文件追加100MB字节的最佳方式是什么,这样我就可以在通过网络下载时用实际数据覆盖虚拟数据。这样,如果同时开始另一个下载请求,它可以开始添加下一个100MB 有没有比简单地将100MB的0写入文件更好的方法?是否有一种方法可以更有效地扩展为文件分配的磁盘空间(请记住,对于文件的上一个字节,当前可能正在写入该文件)?在某些系统(但可能不是所有系统)上,您可以在文件末尾创建一个具有空空间的大文件Perl 用虚拟数据填充文件的一部分,perl,Perl,我有一个文件,其中包含许多较小文件的数据。我希望这个文件能够一次写入多次(写入文件的不同部分) 我设想的做法是在一个文件中存储许多100MB的文件,并在单个文件中存储这些部分开始和结束位置的引用 我的问题是,向文件追加100MB字节的最佳方式是什么,这样我就可以在通过网络下载时用实际数据覆盖虚拟数据。这样,如果同时开始另一个下载请求,它可以开始添加下一个100MB 有没有比简单地将100MB的0写入文件更好的方法?是否有一种方法可以更有效地扩展为文件分配的磁盘空间(请记住,对于文件的上一个字节,
$ perl -e 'open FOO,">/tmp/foo"; seek FOO,1E6,0; print "foo\n"; close FOO'
$ od -c /tmp/foo
0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
3641100 f o o \n
3641104