我需要在 java 中编写一个算法(对于一个 android 应用程序)来读取一个包含更多文件夹的文件夹,每个文件夹都包含图像和音频文件,所以结构是这样的: mainDir/categorySubfolder/myFile1.jpg
我的问题是我需要将存档的大小限制为 16mb,并在运行时根据需要创建尽可能多的存档以包含我的主mainDir
文件夹中的所有文件。
我从网上尝试了几个例子,我阅读了 java 文档,但我无法理解并按照我需要的方式将它们组合在一起。以前有人做过这个,或者有链接或例子吗?
我用递归方法解决了文件的读取问题,但我无法编写 zip 创建的逻辑。
我愿意接受建议或更好的工作示例。
zip4j是一个很棒的库,可以创建多部分 zip 文件。
net.lingala.zip4j.core.ZipFile zipFile = new ZipFile("out.zip");
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile.createZipFileFromFolder("path/to/source/dir", parameters, true, maximum size);
Run Code Online (Sandbox Code Playgroud)
您可以在他们的网站上找到更多示例。
归档时间: |
|
查看次数: |
13221 次 |
最近记录: |