file.delete()不会立即删除如何修复它以立即删除

时间:2017-01-11 10:08:57

标签: java file

我使用文件删除删除本地文件夹中的文件但是在执行该行时,它不会立即删除,而是在我结束应用程序或发生错误后立即删除。

执行删除行,即myfile.delete()后,我的本地文件夹中的文件无法手动删除,因为它似乎被其他一些应用程序使用。

还有其他方法可以立即删除文件吗?

Started by user Blazej Checinski
[Pipeline] node
Running on agent2 in /home/build/workspace/test
[Pipeline] {
[Pipeline] sh
[test] Running shell script
+ echo test
test
[Pipeline] sh
[test] Running shell script
+ /dev/null
/home/build/workspace/test@tmp/durable-b4fc2854/script.sh: line 2: /dev/null: Permission denied
[Pipeline] echo
hudson.AbortException: script returned exit code 1
[Pipeline] sh
[test] Running shell script
+ echo test1
test1
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

2 个答案:

答案 0 :(得分:1)

您必须在应用程序的某个位置使用该文件。

无法删除打开的文件。

您可以尝试使用Windows方法使用以下方法删除文件

  

Runtime.getRuntime()。exec(new String [] {" del"," C:\ Desktop \ smefile.txt"})

如果您甚至无法使用上述方法删除该文件,请确保您已在应用程序中的某个位置打开该文件。

答案 1 :(得分:0)

你也可以试试这个Files.delete(路径);

try {
    Files.delete(localFilePath);
} catch (NoSuchFileException x) {
    System.err.format("%s: no such" + " file or directory%n", path);
} catch (DirectoryNotEmptyException x) {
    System.err.format("%s not empty%n", path);
} catch (IOException x) {
    // File permission problems are caught here.
    System.err.println(x);
}