ファイルがファイルシステムに正しく書き込まれることを確認する方法

StackOverflow https://stackoverflow.com/questions/14726901

  •  07-03-2022
  •  | 
  •  

質問

私はzipアーカイブからファイルを読み取り、ファイルシステム上のファイルに保存するアプリケーションをhavaです。ファイルシステムに書き込んだ後は、すぐに起動してSAX2リーダーでこのファイルを読む。より大きなファイル(300 + MB)では、閉じられていないタグのためにSAX2が解析を停止することがあります。しかし、ファイルを確認したとき(または後でもう一度読んでみてください)。

FZipKit.ExtractToStream(LFileName, LStream);
LStream.SaveToFile(OutputFilename);
SAX2.processUrl(OutputFilename);

私の仮定は、解析プロセスを開始したときにファイルがファイルシステムに完全に書き込まれていないことです。

ファイルが書かれた、またはSteamがファイルシステムにフラッシュされていることを確認する方法はありますか?

どうも

役に立ちましたか?

解決

まず最初にXMLパーサーが正しく動作していると仮定します。ファイルを読むことができない場合は、その解決策は明らかです。

これは、ファイルの作成方法を見ています。 SavetoFileを呼び出すと、ファイルが開かれ、書き込み、閉じ、バッファがフラッシュされます。普通のバニラシステムでは、XMLパーサーはファイルの内容全体を表示します。唯一の結論は何かが干渉しているということです。最も疑わしいのはあなたのウイルススキャナです。多くのスキャナは、最も尊敬されているものでさえ、閉じられているファイルを正しく処理してからすぐに再開できません。

一番下の行はあなたのコードが大丈夫で、問題はほとんど確実にあなたの地域環境に嘘をついています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top