0

再会!

假设我有一个名为“Data”的文件夹,其中包含多个文件夹:

  • 数据 1_文件夹。
  • 数据2_文件夹。
  • 数据3_文件夹。
  • Data4_文件夹。

我只需要压缩 Data2_Folder 和 Data3_Folder,换句话说,用户将决定他要压缩哪些文件夹。

我正在使用for 循环从数据库中读取所选 ID 的数据,并将这些数据写入单独的Excel工作表中。所有文件都将存储在主Data文件夹下的ID 名称文件夹( Data#_Folder ) 下。

在循环结束时,这些是创建文件并压缩它们的语句。

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

不幸的是,只有最后创建的文件夹会被压缩。我怎样才能压缩所有选择的文件夹?

提前致谢。

4

1 回答 1

0

您只需将一个文件夹添加到数组Folder2Compress中。改用 aList<String>并将所有文件夹添加到列表中:

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

现在您可以更改CompressingFolders.CompressFiles()以将此列表作为输入并将所有文件夹添加到结果中。

注意:您可能需要查看Java 命名约定

于 2012-11-14T08:52:57.693 回答