2012-04-25 78 views
1

我有一个ZIP文件(可以说1000个图像,一些数据库文件,二进制文件,...)大量的文件。在里面,我有一些我需要找到并解析它的xml文件。来自它的信息显示在屏幕上。问题是,当我通过ZIP条目使用迭代:Android - 迭代通过Zipentry

InputStream inputStream = new FileInputStream(zipPath); 
    in = new ZipInputStream(inputStream); 

    for (ZipEntry entry = in.getNextEntry(); entry != null; entry = in.getNextEntry()) { 
    ...some code here... 
    } 

所以,当我使用Log.d,我明白了,这是通过遍历文件文件,在大量文件的情况下,它可能需要几个分钟。有没有更好的方法,如何找到ZIP文件中的其他文件?我现在使用的“蛮力”方法非常耗时。

感谢您的任何想法

航点

回答

0

你也许可以做到这一点:

BufferedReader in = new BufferedReader(new InputStreamReader(zipfile.getInputStream(entry))); 
0

在提取特定的文件,你应该使用ZipFile。特别是,ZipFile.getEntry()

这应该是没有问题,因为您使用的是文件。但是,如果您只有InputStream(或者出于某种原因您更喜欢使用ZipInputStream),那么如果您控制如何构建zip文件,则应该将该XML文件作为第一个条目。