我试图删除两个存储库
org.apache.commons.io.FileUtils.deleteDirectory(jobInDirectory);
org.apache.commons.io.FileUtils.deleteDirectory(jobOutDirectory);
路径正确
目录上的权利
第一个被删除了 但不是第二个,里面的每个文件都是删除而不是目录
java.io.IOException: Unable to delete directory /opt/appdata/conv/data/out/Job000000000676.
我看看是否有另一个进程使用命令lsfo锁定它,并且没有一个进程使用它...
有什么想法吗?
答案 0 :(得分:2)
您需要检查以下内容以解决此问题: -
运行应用程序的用户ID /帐户必须具有删除以下目录的权限。如果您使用您的帐户运行Java应用程序,则必须具有删除以下目录的权限。
/opt/appdata/conv/data/out/Job000000000676
将帐户添加到适当的组中。为此,首先检查ls -ltr
,然后在/opt/appdata/conv/data/out
内执行,并将您的帐户添加到具有删除out
目录中的目录的完全权限的组
同时检查Job000000000676
是否包含子目录。在这种情况下,您可以执行像rm -rf /opt/appdata/conv/data/out/Job000000000676
这样的unix命令。有关详细信息,请参阅如何从java应用程序执行unix命令。
希望这会对你有所帮助。
答案 1 :(得分:1)
您是否检查了该目录/文件的权限以确保执行该命令的用户具有足够的权限?
或者,如果另一个进程在文件上有句柄,那也会导致问题。假设您使用的是基于Linux的操作系统,请尝试使用以下命令:fuser / opt / appdata / conv / data / out / Job000000000676
祝你好运答案 2 :(得分:0)
您的文件夹中有文件?如果是,则应在删除文件夹
之前删除它们