簡體   English   中英

如果目標存在,如何使用Apache commons-io遞歸移動目錄?

[英]How to move a directory recursively using Apache commons-io, if destination exists?

我一直在嘗試使以下簡單代碼正常工作,但我不明白為什么它失敗了:

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 ,也可以不包含bar

我得到的錯誤是:

Caused by: org.apache.commons.io.FileExistsException: Destination '/blah/bar' already exists

我在這里做錯了什么? 內置的Files.move(...)會做得更好嗎(我正在使用JDK 1.8)? 我也嘗試過,但是似乎無法正常工作。 這是簡單的東西,我不明白為什么要花這么多精力去實現...

請嘗試使用copyDirectoryToDirectory() ,然后刪除原始源...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM