zip/压缩 Android 上充满文件的文件夹
我需要压缩一个“项目”文件夹,以允许用户通过电子邮件共享项目。我找到了一个用于将多个文件压缩到一个 zip 中的类,但我需要将文件夹结构保留在我的 zip 中。在android上有什么办法可以实现这一点吗?提前致谢。
I need to zip up a "project" folder to allow users to share projects via email. I found a class for zipping up multiple files into one zip, but I need to keep the folder structure in my zip. Is there any way to achieve this on android? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
只需将 @HailZeon 的答案转换为 Kotlin:
Just converting @HailZeon's answer to Kotlin:
如果有人来这里试图找到 @HailZeon 代码的 java8 更干净的重构版本。这里是:
If someone comes here trying to find a java8 cleaner refactored version of the @HailZeon code. Here it is:
这段代码应该可以解决问题。
注意:您必须通过向您的manifest.xml 文件添加WRITE_EXTERNAL_STORAGE 权限来向您的应用程序添加文件写入权限。
This code should do the trick.
Note: you must add file write permissions to your app by adding the WRITE_EXTERNAL_STORAGE permission to your manifest.xml file.
我就是这样做的:
this is how I do it:
我重新编写了 HailZeon 的代码,以便在 Windows 下正常工作。 Zip 条目必须在新条目开始之前关闭,条目名称中的起始“/”(如“/file.txt”)也会产生问题
I have reworked the code from HailZeon to work properly under windows. Zip Entries must be closed before new ones are started and a starting "/" at entry names like "/file.txt" makes also problems
使用此 位置 中的 zip4j 库。将 jar 文件导入到您的
"app/libs/"
文件夹中。并使用以下代码来压缩您的目录/文件...Use the zip4j library from this location. Import the jar file to your
"app/libs/"
folder. And use the following code to zip your directories/files...如果您使用 java.util.zip 对象,那么您可以编写一个不修改目录结构的脚本。
If you use a java.util.zip object then you can write a script that does not modify the directory structure.