0

FileStream を使用してファイルにデータを書き込むループがあります。操作の途中で中止したい。フラッシュして閉じると、ディスクに部分的なファイルが作成されます。FileStream を閉じてシステムから削除する方法はありますか? (同じ操作で。フラッシュして閉じて、自分で削除できることを知っています)

4

1 に答える 1

0

ファイルの変更に対処する必要がある場合...

あなたの場合はやり過ぎかもしれませんが、NTFS transactionsを使用できます。中止する必要がある場合は、トランザクションをロールバックするだけで、変更したファイルはトランザクション開始前の状態に戻ります (トランザクション開始前にファイルが存在しなかった場合は完全に消えます)。これは、明示的にロールバックしなくても機能します (たとえば、停電のため)。

または、別のファイルに書き込んでトランザクションをエミュレートし、古いファイルを新しいファイルに置き換えて「コミット」することもできます。


それ以外の場合(既存のファイルを変更するのではなく、新しいファイルの作成のみを扱う場合)...

finallyストリームが閉じられた/処分された後、ブロック内のファイルを削除することができます(すでに述べたように)。

于 2013-04-03T10:02:06.330 に答える