我一直在尝试使以下简单代码正常工作,但我不明白为什么它失败了:

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(),然后删除原始源...

10-06 14:32