我使用文件删除删除本地文件夹中的文件但是在执行该行时,它不会立即删除,而是在我结束应用程序或发生错误后立即删除。
执行删除行,即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
答案 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);
}