Android - 解压缩文件夹?
我的 SD 卡上有一个 zip 文件夹,如何解压缩该文件夹(在我的应用程序代码中)?
I have a zip folder on my SD card, how do i unzip the folder (within my application code) ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我正在使用 Beginner 方法的修改版本,该方法扩展了 AsyncTask 并可以更新主线程上的观察者。逐字节压缩非常慢,应该避免。相反,更有效的方法是将大块数据复制到输出流。
它由实现 Observer 的类使用,例如:
当解压完成时,您的观察者将获得一个 update(Observable observable, Object data) 回调。
I am using a modified version of Beginner's method that extends AsyncTask and can update Observers on the main thread. Byte by byte compression is extremely slow and should be avoided. Instead a more efficient approach is to copy large chunks of data to the output stream.
It is used by a class that implements
Observer
, such as:Your observer will get an
update(Observable observable, Object data)
callback when the unzip finishes.这对我有用谢谢大家
This is what worked for me thanks people
只是 @rich.e 答案的“addon”:
在
doInBackground()
中,迭代 ZipEtries 后,您应该关闭文件,因为有时您希望在解压缩文件后删除该文件,并且如果文件存在,它会抛出异常没有关闭:just "addon" for @rich.e answer:
in
doInBackground()
after iterating through ZipEtries you should close the file, because sometimes you want do delete the file after unzipping it and it throws an exception if file was not closed: