我试图使用java 5删除一个jar文件(因此Java 7中引入的Paths API不是一个选项).
我的代码:
String sep = File.separator;
File test = new File("."+ sep + "server" + sep + "lib" + sep + "testJar.jar");
if(test.delete())
{
logger.log(Level.INFO,test.getName() + " deleted.");
}
else
{
logger.log(Level.INFO,"Delete operation is failed for "+test.getName());
}
Run Code Online (Sandbox Code Playgroud)
当我的代码被执行时,jar文件被删除但是Delete operation is failed for testJar.jar被打印在logs.Cant中了解原因.感谢任何帮助.
更新:
我再次尝试相同的代码,这次它说testJar.jar deleted 现在我很困惑发生了什么
我发现这个问题神奇地消失了,但有一些常规的故障排除提示:
\n\n首先; 尝试创建和删除另一个文件并检查文件权限/所有权。
\n\n检查另一个进程是否未保存该文件:
\n\n$\xc2\xa0lsof filename\nRun Code Online (Sandbox Code Playgroud)\n\n测试底层操作系统调用。
\n\nFile.delete() 将委托给底层操作系统,并且通常最终会调用删除(或取消链接)。如果您使用 OpenJDK,您应该能够浏览源代码。如果没有,看看你是否可以追踪“幕后”发生的事情。
\n\n编写一个小片段来简单地执行此调用,并查看当您尝试删除此文件时操作系统的行为。
\n| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |