2011-07-27 132 views
1

我想將文件保存到用戶從一個目錄中選擇的另一個目錄。我知道JFileChooser可以用來選擇一個文件。但是不使用任何輸出流,有什麼方法可以將文件從一個位置移動到另一個位置?使用JFileChooser保存文件

回答

2

只有當它們位於相同的本地磁盤文件系統時,您纔可以使用File#renameTo()

File sourceFile = createItSomehow(); 
File targetFile = chooser.getSelectedFile(); 

boolean renamed = sourceFile.renameTo(targetFile); 

if (!renamed) { 
    // Well, perhaps they are not on the same disk? 
} 

對於所有其他情況,只需流式傳輸,您真的會更好。另請參見鏈接的javadoc:

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