2012-11-08 39 views
0

可能重複:
Standard concise way to copy a file in Java?如何在Java中的不同位置創建一個文件的副本?

我有一組在位置C:\Desktop\input\Acsady\dZI_3.png文件夾中的.png文件中。現在,我想使圖像的複製到其他位置C:\Desktop\input\final\Acsady\5_dZI_3.png。 我該如何去做呢?我目前有以下代碼,它不會給我預期的結果。

String newName = outdir + File.separator + "final" + File.separator + nfname; 
File newfname = new File(outdir + File.separator + "final" + File.separator + nfname); 
String source = outdir + File.separator + lkupfname; 
String target = outdir + File.separator + "final" + File.separator + nfname; 

System.out.println("Copying file: "+source +" to "+target); 

boolean status = filename.renameTo(newfname); 
System.out.println("status : "+status); 

我每次都得到狀態爲false,這意味着renameTo函數不成功。

回答

0

看看Files.copy,如果你是基於Java 1.7。

0

這是從Java文檔提取。可能有助於你找到根本原因。

重新命名此抽象路徑名錶示的文件。 這種方法的行爲的許多方面是天生的平臺依賴性:重命名操作可能無法從一個文件系統的文件移動到另一個,它可能不是原子的,它可能不會成功,如果與目標抽象文件路徑名已存在。應始終檢查返回值以確保重命名操作成功。

相關問題