Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java重命名本地计算机上的文件夹?_Java_Apache Commons - Fatal编程技术网

如何使用Java重命名本地计算机上的文件夹?

如何使用Java重命名本地计算机上的文件夹?,java,apache-commons,Java,Apache Commons,我想使用Java7重命名文件夹。我试过使用: srcDir.renameTo(desDir); FileUtils.moveDirectory(srcDir, desDir); 但根据我的理解(和个人经验)。rename to仅适用于重命名文件。我也厌倦了使用: srcDir.renameTo(desDir); FileUtils.moveDirectory(srcDir, desDir); 但我得到了这个错误: Exception in thread "main" java.io.IO

我想使用
Java7
重命名文件夹。我试过使用:

srcDir.renameTo(desDir);
FileUtils.moveDirectory(srcDir, desDir);
但根据我的理解(和个人经验)
。rename to
仅适用于重命名文件。我也厌倦了使用:

srcDir.renameTo(desDir);
FileUtils.moveDirectory(srcDir, desDir);
但我得到了这个错误:

Exception in thread "main" java.io.IOException: Unable to delete file: C:\webapps\37\WEB-INF\lib\stax-api-1.0-2.jar
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2279)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1653)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1535)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2270)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1653)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1535)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2270)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1653)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1535)
at org.apache.commons.io.FileUtils.moveDirectory(FileUtils.java:2756)
at batDel.batDelJavaC.main(batDelJavaC.java:52)

注意:我正在Tomcat8服务器上运行,但在运行我的项目之前已经停止了它

问题中的.jar文件很可能是由应用服务器之类的进程打开的。在它关闭文件之前,您将无法移动或删除它


在Windows(看起来您正在使用)上,您可以使用诸如SysInternals中的Process Explorer之类的实用程序来查看某个进程是否打开了该文件。

您有权限删除它吗?目录存在吗?是的,目录存在。是的,我有删除的权限。@Smac89我实际上正在尝试删除“C:\webapps\37”文件夹。我不知道为什么会出现“无法删除文件:”错误。即使您停止了tomcat,您也必须确保所有文件都已关闭,否则我们将永远无法重命名/删除文件夹检查@Mark Meuer的帖子。你必须找出哪个进程将文件锁定并杀死它。对于否决我答案的人:请发表评论解释你的否决票,以便我可以改进或删除答案。我在运行此项目之前已停止服务器。我没有否决,但我想这是因为此答案应该是对op问题的评论,这本身并不是一个答案。请阅读以熟悉这些内容。@user3539592要检查文件是否未被其他进程锁定,请尝试将其从shell中删除。@elsadek刚刚尝试过。工作很完美,但只有当我以管理员的身份运行时。那可能是我的问题。