我有一个应用程序需要从数据库中获取数据并导出为 zip 文件。
由于我的 zip 文件需要密码保护,我检查了一些库。
我将 zip4j 作为一个库,它可以帮助我进行密码加密并导出为 zip 文件。
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_STORE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
parameters.setPassword("example");
但是我发现了一些问题。
无法使用任何 zip 软件提取导出的 zip 文件。只有 WinZip 和 7-zip 可以完美提取。我不知道为什么其他软件无法提取。我认为其他软件不支持加密技术 AES_STRENGTH_256。如果我错了,请纠正我
当用户单击 gmail 中的附件时,我需要执行导入。所以我尝试获取 zip 文件。但它以流的形式出现
<intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.EDIT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="application/octet-stream" android:host="*" android:pathPattern=".*\\.csv" /> </intent-filter>
但我看到 zip4j 库无法从流中读取。
有了这个问题,有人可以帮我实现导入 zip 文件并提取其中的 csv 文件。
由于导入是从 gmail 完成的,我觉得数据以流的形式出现,我们需要获取并提取 zip 文件。