有没有什么方法可以打开zip文件并访问它,因为它在Android中解压缩?我有数据的zip文件,我需要通过应用程序访问它,我不想将其解压缩到某个文件夹并从那里打开它。所以我希望直接从zip文件访问数据而不解压缩。我现在正在尝试使用ZipFile,但我没有找到任何用法,这可能对我有用。这种方法甚至可能吗?
由于
答案 0 :(得分:2)
这是我用来'动态解压'并创建drawable的代码。
private void createBitmapDrawables() throws IOException {
// TODO Auto-generated method stub
InputStream is = getResources().getAssets().open("images.zip");
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(is));
try {
ZipEntry ze;
while ((ze = zis.getNextEntry()) != null) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count;
while ((count = zis.read(buffer)) != -1) {
baos.write(buffer, 0, count);
}
String file = ze.getName();
byte[] bytes = baos.toByteArray();
drawable = createBitmapDrawable(bytes, file);
}
} finally {
zis.close();
}
}
几乎来自Android Dev网站。 希望它有所帮助。
答案 1 :(得分:0)
与每个文件一样,为了使用其内容,您必须在内存中打开并读取它,通常在此目的中使用InputStream。在这种情况下,您必须读取一个zip文件的条目,以便您可以通过zip条目进行迭代,当您找到要查找的条目时,您可以获取它的ZipInputStream并像普通文件一样读取