2

私は以前にこれを持っていました、そして私は私の人生のために問題が何であったかを思い出すことができません...

使用しようとしましfile.delete();たが、ファイルが削除されておらず、エラーも何もなかったので、これを試してみました:

public void removeFile(File file){
     file.delete();
     System.out.println(file.canRead());
     System.out.println(file.canWrite());
     System.out.println(file);
     System.out.println(file.delete());
 }

それは戻ります:

C:\contest\dpd\
true
true
C:\contest\dpd\out\408.OUT
false

注:Windows 7で実行しています。問題のファイルは他のプログラムによって開かれておらず、読み取り専用に設定されていません。

4

1 に答える 1

2

私のコメントによると、答えは私が愚かであるということでした。

ファイルが使用されます:

      BufferedReader reader = new BufferedReader(new FileReader(file));

リーダーは閉じられていません

reader.close();

おそらく、誰かがこの種の問題に遭遇し、この質問に遭遇した場合は、ファイルの使用を追跡し、ファイルがアクセスされている場所を確認し、ファイルを使用しているものを確認し、削除関数が呼び出される前にファイルを解放します。

于 2013-02-04T01:04:03.487 に答える