我想使用核心java將一些選定的文件複製到目標文件夾。我無法使用JDK 7.我正在使用JDK 1.6。將整個源文件夾複製到目標文件夾是不可接受的。將選定的文件複製到一個文件夾
例如:
文件夾T包含x個.gif文件。我不得不Y複製(不動)(流出X).gif注意圖像文件到一個單獨的文件夾的數量,說K.
我不能將所有T(即X文件)複製到K.
我將如何在JDK 1.6中做到這一點?
我想使用核心java將一些選定的文件複製到目標文件夾。我無法使用JDK 7.我正在使用JDK 1.6。將整個源文件夾複製到目標文件夾是不可接受的。將選定的文件複製到一個文件夾
例如:
文件夾T包含x個.gif文件。我不得不Y複製(不動)(流出X).gif注意圖像文件到一個單獨的文件夾的數量,說K.
我不能將所有T(即X文件)複製到K.
我將如何在JDK 1.6中做到這一點?
使用FileUtils.copyDirectory()從commons-io,指定您的來源,目標和指示只複製.gif文件的過濾器。該方法的文檔包括將所有.txt
文件從一個目錄複製到另一個目錄的示例,因此它可以使您獲得約95%的路徑。
@Ryan的答案是一個。不過,我還沒有嘗試過。
但是,您可能需要這樣做: 編寫一個方法,它接受兩個目錄路徑,然後使用擴展來過濾要複製的文件。也許這樣的事情:
//get all the select files in that folder
File directory[] = source.listFiles();
//iterate through the files
for (File fileName : directory)
{
//check here: if the extension doesn't match what you want, continue the loop if it doesn't match
File newFile = new File(destination + fileName);
}
我想這應該讓工作相當完成。
該解決方案的缺點是無法處理嵌套目錄和錯誤。將'File'追加到'destination'不會達到你想要的效果。即使是這樣,這是構建文件路徑的錯誤方法。 – 2012-04-24 12:40:55
我沒有考慮嵌套目錄。根據文件路徑傳遞給方法的方式,附加文件相當簡單。 – olatunjee 2012-04-24 12:59:28
「取決於文件路徑傳遞給方法的方式」< - 正是你不想依賴的東西。 – 2012-04-24 13:48:33
@Ryan .........非常感謝Ryan.It的工作很好。 – 2012-04-25 05:26:41