1

Javaでファイルを削除できません。私のプログラムでは、ファイルを作成し、それを使って何かをした後、それを削除する必要があります。myFile.delete()を呼び出すと、falseが返されます。削除しようとしているパスとその正しいパスを確認しました。管理者権限もあります(Windows 7で作業しています)。これが私のコードです。非常に単純です。

File aux = new File(System.getProperty("user.dir")+"//tmp.ps");

CreatePostScript(aux.getAbsoluteFilePath());
SendToPrinter();

try{
    aux.delete();
}
catch(SecurityException ex){
     ex.printStackTrace();
}

編集、私はFileオブジェクトのいくつかのプロパティを読みました:

canRead() returns false
canWrite() returns false
exists() returns false
getPath() returns the_actual_path_of_the_file
isFile() returns false
4

5 に答える 5

2

IDE内からそれをやっていますか?おそらく、IDE がファイル ハンドルを保持しています。Unlockerをダウンロードして、ハンドルを握っている人を確認してください。

于 2012-11-29T12:54:56.860 に答える
1

ファイルに対して処理を実行しているため、OutputStreamがまだ開いている可能性があります。out.close();ファイルを削除する前に呼び出します。

于 2012-11-29T12:54:46.213 に答える
1

コマンドライン引数user.dirと考えられるプロパティを指定していることを確認してください。代わりにFile.pathSeparator-Dを使用します//

于 2012-11-29T12:56:24.800 に答える
1

操作にJava 7 のNIO2 APIを使用することを検討してください。成功値を返す代わりに、何かが操作の実行を停止すると、実際には例外をスローします。

于 2012-11-29T12:58:29.320 に答える
0

あなたのコードでは、削除する前にストリームを閉じていないことがわかります。ストリームを閉じてファイルを削除してください。

于 2012-11-29T12:57:53.110 に答える