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

时间:2015-01-08 19:55:07

标签: java apache-commons

我想使用Java 7重命名文件夹。我尝试过使用:

srcDir.renameTo(desDir);

但是从我能理解的(和个人经验).renameTo仅适用于重命名文件。我也厌倦了使用:

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)

注意:我在Tomcat 8服务器上运行,但在运行项目之前已将其停止。

1 个答案:

答案 0 :(得分:2)

有问题的.jar文件很可能实际上是由某个进程(如应用程序服务器)打开的。在关闭文件之前,您无法移动或删除它。

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