1

「ディスク容量が少ない」ユースケースをテストするために、ディスクの空き容量を使い果たす (数キロバイトを残すだけ) 小さなツールを作成する必要があります。コード:

new FileStream(filename).SetLength(remaining free bytes - 1024); //leaving 1KB's free space 

ただしFileStream.SetLength(long length)、長さがギガバイト単位の場合は遅すぎます。大きな HD ムービーをディスクにコピーするのと同じくらい遅いです。(編集: 申し訳ありませんが、私がこれを経験したのはリムーバブル フラッシュに書き込むときだけでした。他のローカル ドライブに書き込む場合、速度は十分に高速です。 )

空のファイル (つまり、ゼロで埋められたファイル) を書き込むためのより高速な方法はありますか? C/C++ のコードも歓迎します。または、空のファイルを書き込まずに「ディスク容量が少ない」ケースをテストできる他のトリックはありますか?

4

2 に答える 2

4

Windows API 呼び出しSetFileValidDataを使用すると、書き込みを行わずに大きなファイルを作成できます。

ただし、ファイルをゼロで埋めないことに注意してください (これが高速な理由です)。また、セキュリティへの影響があるため、その関数のドキュメントを注意深く読んでください。

于 2012-12-05T09:20:49.350 に答える
0

Google検索の後、私はこのSOの質問に誘導されました: Windowsで大きなファイルを作成する

それは私の質問に答えます。

于 2012-12-05T16:30:01.467 に答える