美好的一天!
假设我有一个名为“数据”的文件夹,其中包含多个文件夹:
我需要只压缩Data2_Folder和Data3_Folder。换句话说,用户将决定他想要压缩哪些文件夹。
我正在使用 for循环从DB中读取所选ID的数据,并将这些数据写入单独的 excel 工作表中。所有文件都将存储在数据主文件夹下的 ID名称文件夹(数据#_Folder )下。
在循环结束时,这些是创建文件并压缩它们的语句。
Excel.writeFile((String)DataID.get(i),TempArray);
Folder2Compress = new String[]{CompressingFolders.CompressFiles("D:\\Data/"+DataID.get(i).toString())};
不幸的是,只会压缩最后创建的文件夹。如何压缩所有选定的文件夹?
提前致谢。
答案 0 :(得分:0)
您只向阵列Folder2Compress
添加一个文件夹。请改用List<String>
并将所有文件夹添加到列表中:
List<String> folders = new ArrayList<String>();
for( .... ) {
...
folders.add("D:\\Data/"+DataID.get(i));
}
现在,您可以更改CompressingFolders.CompressFiles()
以将此列表作为输入,并将所有文件夹添加到结果中。
注意:您可能需要查看Java naming convention。