2012-11-14 17 views
0

美好的一天!壓縮多個文件夾中的一個CompressedFolders.rar文件中的Java

比方說,我有一個名爲「數據」其中包含多個文件夾的文件夾:

  • Data1_Folder。
  • Data2_Folder。
  • Data3_Folder。
  • Data4_Folder。

我只需要壓縮Data2_Folder和Data3_Folder,換句話說,用戶將決定他想壓縮哪些文件夾。

我使用for循環讀取從DB中選擇的ID的數據和寫在單獨的這些數據優於表。所有的文件將被存儲在他們的ID名稱文件夾數據#_文件夾)下的主要數據文件夾

在循環結束時,這些是創建文件並壓縮它們的語句。

Excel.writeFile((String)DataID.get(i),TempArray); 
Folder2Compress = new String[]{CompressingFolders.CompressFiles("D:\\Data/"+DataID.get(i).toString())}; 

不幸的是,只有最後創建的文件夾會被壓縮。我怎樣才能使它壓縮所有選擇的文件夾?

在此先感謝。

回答

0

您只向陣列Folder2Compress添加一個文件夾。使用List<String>而不是和所有文件夾添加到列表:

List<String> folders = new ArrayList<String>(); 
for(....) { 
    ... 
    folders.add("D:\\Data/"+DataID.get(i)); 
} 

現在你可以改變CompressingFolders.CompressFiles()藉此列表作爲輸入和所有文件夾添加到結果。

注意:您可能需要查看Java naming convention

+0

謝謝!工作很好。 – toti

相關問題