Java - 删除目录 - IOException:无法删除目录

时间:2018-05-25 15:12:02

标签: java

我试图删除两个存储库

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锁定它,并且没有一个进程使用它...

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

您需要检查以下内容以解决此问题: -

  1. 运行应用程序的用户ID /帐户必须具有删除以下目录的权限。如果您使用您的帐户运行Java应用程序,则必须具有删除以下目录的权限。

     /opt/appdata/conv/data/out/Job000000000676
    
  2. 将帐户添加到适当的组中。为此,首先检查ls -ltr,然后在/opt/appdata/conv/data/out内执行,并将您的帐户添加到具有删除out目录中的目录的完全权限的组

  3. 同时检查Job000000000676是否包含子目录。在这种情况下,您可以执行像rm -rf /opt/appdata/conv/data/out/Job000000000676这样的unix命令。有关详细信息,请参阅如何从java应用程序执行unix命令。

  4. 希望这会对你有所帮助。

答案 1 :(得分:1)

您是否检查了该目录/文件的权限以确保执行该命令的用户具有足够的权限?

或者,如果另一个进程在文件上有句柄,那也会导致问题。假设您使用的是基于Linux的操作系统,请尝试使用以下命令:fuser / opt / appdata / conv / data / out / Job000000000676

祝你好运

答案 2 :(得分:0)

您的文件夹中有文件?如果是,则应在删除文件夹

之前删除它们