2016-03-05 106 views
1

我已經制作了將文件從一個絕對路徑(輸入目錄)複製到另一個絕對路徑(輸出目錄)的方法。Java Files.copy()不復制文件

它不會給我任何錯誤,但是沒有文件被複制到輸出文件夾。

這是爲什麼?

public static boolean copyFiles(String input, String output) 
{ 
    File source = new File(input); 
    File dest = new File(output); 
    try { 
     Files.copy(Paths.get(input), Paths.get(output), StandardCopyOption.REPLACE_EXISTING); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return false; 
    } 
    return true; 
} 
+3

是輸入輸出目錄嗎? 'Files.copy'會複製該目錄('mkdir'),但不包含其中的文件。請參閱https://docs.oracle.com/javase/tutorial/essential/io/copy.html – zapl

+0

是的,他們是目錄!不知道!將看看 –

+0

對我來說,它適用於文件。 :P – reegnz

回答

3

正如@zapl所說的,Files.copy()只複製目錄。

我通過導入Apache commons.io庫找到了解決方案。

org.apache.commons.io.FileUtils.copyDirectory(new File(input), new File(output)); 

This works。