-3

処理する行を選択した後にファイルに書き込む Java コードがあります。問題は、実行が終了するまでに、書き込まれているファイルの内容が完全に消えてしまうことです。奇妙なことに、コードは Windows では正しく動作しますが、Unix では動作しません。もう 1 つのことは、エントリが 1 つしか選択されていない場合、コードは正常に機能しますが、複数のエントリが選択されている場合は失敗することです。

書き込み中は、このファイルに対して他の操作は実行されません。

4

1 に答える 1

2

これが発生する理由として、次の 2 つが考えられます。

  1. ファイルを閉じるのを忘れました。症状: ファイルは存在しますが、長さが 0 です。
  2. PrintWriterorを使用PrintStreamしていて、フラッシュするのを忘れました。
  3. 書き込み中に誰かがファイルを削除しました。

後者はセキュリティ機能です。ファイルを開いたままにしておく限り、読み書きはできますが、他の誰もアクセスできません。

于 2013-10-09T07:50:37.683 に答える