1

このコードを使用して、Windows 7 でファイルを削除するのに問題があります。

    private static final String WIN_DIR_TEST = "D:"+File.separator+"Users"+File.separator+"u119255"+File.separator+"Desktop"+File.separator; 
    ...
    File file = null;
    FileWriter fileWriter = null;
    String localPath = WIN_DIR_TEST.concat("abc.degno");
    file = new File(localPath);
    fileWriter = new FileWriter(file, true);
    fileWriter.write("qwertyuiop\n");
    fileWriter.close();
    ftp.send(localPath, distantPath);
    file.delete();

そして、この最後の行は常に false を返しますが、その理由がわかりません。また、例外は発生しません。

4

5 に答える 5

1

例外処理を次のように配置してみてください。

try {
    if (file.delete()) {
        System.out.println(file.getName() + " is deleted!");
    } else {
        System.out.println("Delete operation is failed.");
    }
} catch (Exception e) {
    e.printStackTrace();
}
于 2013-06-07T13:40:46.783 に答える
1

file.deleteOnExit()の代わりに使用してみてくださいfile.delete()

それが機能する場合は、ファイルのハンドルがまだコードにある可能性があります。

于 2013-06-07T14:13:38.910 に答える
0

コードからわかるように、「ファイル」は常にnullに等しいため、簡単です:)ファイル変数をどこで初期化しますか?

于 2013-06-07T13:41:43.933 に答える