Java 合并2个大(500MB)拉链,其中可能包含同名文件/文件夹
我在JavaSpring应用程序中有这样一个场景,在目录结构中将大量数据分类后,我必须将它们导出为zip文件。由于数据量巨大,我会分批获取数据(比如说一次获取500个结果),将它们按类别和子类别进行排列,并将它们写入zip文件。由于获取和整理数据需要相当长的时间,我无法让我的Java 合并2个大(500MB)拉链,其中可能包含同名文件/文件夹,java,zip,file-handling,outputstream,zipfile,Java,Zip,File Handling,Outputstream,Zipfile,我在JavaSpring应用程序中有这样一个场景,在目录结构中将大量数据分类后,我必须将它们导出为zip文件。由于数据量巨大,我会分批获取数据(比如说一次获取500个结果),将它们按类别和子类别进行排列,并将它们写入zip文件。由于获取和整理数据需要相当长的时间,我无法让我的zipOutputStream长时间处于打开状态,因此我正在为每个批次制作新的zip,然后将其数据附加到主zip文件中 在第一次提取之后,假设我制作了这个zip文件: batch_1.zip |_Catg A |_Sub
zipOutputStream
长时间处于打开状态,因此我正在为每个批次制作新的zip,然后将其数据附加到主zip文件中
在第一次提取之后,假设我制作了这个zip文件:
batch_1.zip
|_Catg A
|_SubCatg A
|_FILE 1
|_FILE 2
|_SubCatg B
|_FILE 3
|_Catg B
|_SubCatg C
|_FILE 498
|_SubCatg D
|_FILE 499
|_FILE 500
类似地,我为接下来的500个结果创建了一个zip:
batch_2.zip
|_Catg A
|_SubCatg A
|_FILE 501
|_Catg B
|_SubCatg D
|_FILE 999
|_Catg C
|_SubCatg E
|_FILE 555
现在,我必须合并这两个文件。两个zip文件都可能包含类别和子类别的目录。要检查现有文件夹,我需要迭代两个zip文件中的所有条目,这同样太昂贵了,因为可能有超过5000个结果,其中包含500多个类别、2500多个子类别
有没有其他方法来处理这种情况。您有没有研究过zip文件系统?