我一直在尝试让以下简单的代码正常工作,但我不明白为什么它失败了:
File dir = new File("/foo/bar"); // A path to a directory
File destDir = new File("/blah"); // The destination dir
FileUtils.moveDirectoryToDirectory(dir, destDir, !destDir.exists());
dir
目录包含文件和目录。 destDir
可能包含也可能不包含 bar
。
我得到的错误是:
Caused by: org.apache.commons.io.FileExistsException: Destination '/blah/bar' already exists
我在这里做错了什么?
内置的 Files.move(...)
会做得更好吗(我使用的是 JDK 1.8)?我也尝试过,但我似乎无法让它发挥作用。这是很简单的事情,我不明白为什么要付出如此多的努力来实现......
最佳答案
尝试使用copyDirectoryToDirectory()
,然后删除原始源...
关于java - 如果目标存在,如何使用 Apache commons-io 递归地移动目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947587/