2012-04-24 55 views
0

我想使用核心java將一些選定的文件複製到目標文件夾。我無法使用JDK 7.我正在使用JDK 1.6。將整個源文件夾複製到目標文件夾是不可接受的。將選定的文件複製到一個文件夾

例如:

文件夾T包含x個.gif文件。我不得不Y複製(不動)(流出X).gif注意圖像文件到一個單獨的文件夾的數量,說K.

我不能將所有T(即X文件)複製到K.

我將如何在JDK 1.6中做到這一點?

回答

2

使用FileUtils.copyDirectory()commons-io,指定您的來源,目標和指示只複製.gif文件的過濾器。該方法的文檔包括將所有.txt文件從一個目錄複製到另一個目錄的示例,因此它可以使您獲得約95%的路徑。

+0

@Ryan .........非常感謝Ryan.It的工作很好。 – 2012-04-25 05:26:41

-2

@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); 
} 

我想這應該讓工作相當完成。

+1

該解決方案的缺點是無法處理嵌套目錄和錯誤。將'File'追加到'destination'不會達到你想要的效果。即使是這樣,這是構建文件路徑的錯誤方法。 – 2012-04-24 12:40:55

+0

我沒有考慮嵌套目錄。根據文件路徑傳遞給方法的方式,附加文件相當簡單。 – olatunjee 2012-04-24 12:59:28

+0

「取決於文件路徑傳遞給方法的方式」< - 正是你不想依賴的東西。 – 2012-04-24 13:48:33

相關問題