Android:是否可以将 ZIP 文件添加为原始资源并使用 ZipFile 读取它?
是否可以将 ZIP 文件作为原始资源添加到 APK 包中并使用 ZipFile 类读取它?看起来从 SD 卡打开文件很简单,但从 APK 中打开文件则不然。
Is it possible to add ZIP file to APK package as a raw resource and read it with ZipFile class? It looks like it's trivial to open file from SD card, but not from APK.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不相信是这样。正如您所提到的,将
ZipFile
与文件系统上的实际文件一起使用很容易,但对于嵌入在应用程序中的文件则不然。要访问 APK 中的 zip 文件,您必须使用类似
Resources.openRawResource(R.raw.zip_file)
,然后将返回的InputStream
包装在ZipInputStream
中并以通常的 Java 方式完成,而不是使用 Android 方法。或者,如果您确实需要使用
ZipFile
类,您可以将 zip 文件从 APK 提取到 SD 卡,或更可靠地提取到应用程序的本地存储。I don't believe so. As you alluded, it's easy to use
ZipFile
with an actual file on the file system, but not so for a file embedded in your application.For accessing a zip file in your APK, you'd have to use something like
Resources.openRawResource(R.raw.zip_file)
and then wrap the returnedInputStream
in aZipInputStream
and do it the usual Java way, rather than with the Android method.Alternatively, if you really find you need to use the
ZipFile
class, you could extract the zip file from the APK to the SD card or, more reliably, to your application's local storage.