Android Zip文件访问权限

时间:2012-03-04 11:00:31

标签: android zip

有没有什么方法可以打开zip文件并访问它,因为它在Android中解压缩?我有数据的zip文件,我需要通过应用程序访问它,我不想将其解压缩到某个文件夹并从那里打开它。所以我希望直接从zip文件访问数据而不解压缩。我现在正在尝试使用ZipFile,但我没有找到任何用法,这可能对我有用。这种方法甚至可能吗?

由于

2 个答案:

答案 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并像普通文件一样读取