如果目标存在,如何使用Apachecommons-io递归移动目录



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

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

相关内容

  • 没有找到相关文章

最新更新