0

良い一日!

複数のフォルダを含む「Data」という名前のフォルダがあるとします。

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

Data2_FolderとData3_Folderのみを圧縮する必要があります。つまり、ユーザーが圧縮するフォルダーを決定します。

forループを使用して、選択したIDのDBからデータを読み取り、これらのデータを別の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

アレイに追加するフォルダは1つだけFolder2Compressです。代わりに使用して、List<String>すべてのフォルダをリストに追加します。

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

CompressingFolders.CompressFiles()これで、このリストを入力として取得し、すべてのフォルダーを結果に追加するように変更できます。

注:Javaの命名規則を確認することをお勧めします。

于 2012-11-14T08:52:57.693 に答える