2012-02-21 3 views
2

私は、その中に多数の小さなファイルのデータを含む1つのファイルを持っています。私はこのファイルを一度に(ファイルの異なる部分に)何度も書き込むことができるようにしたいと思います。ダミーデータでファイルの一部を埋める

私が想定していることは、100MBのファイルを1つのファイルに格納し、そのファイルの先頭と末尾の参照を1つのファイルに格納することです。

私の質問は、ファイルに100MBのバイトを追加するための最良の方法は、ダミーのデータをネットワーク経由でダウンロードするときに実際のデータで上書きできるようにすることです。このようにして、別のダウンロード要求が同時に開始された場合、次の100MBを追加することができます。

これには、100MBの0をファイルに書き込むよりも良い方法がありますか?ファイルのために割り当てられたディスクスペースをより効率的に拡張する方法はありますか(現在、ファイルの前のバイトに書き込まれているかもしれません)。

答えて

3

一部のシステムでは(おそらくすべてではありませんが)seekファイルの最後を過ぎて空きスペースの大きいファイルを作成できます。

$ 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 
+0

大変感謝しています。 – GoldenNewby

関連する問題