我有一个包含两个文件的Zip:一个XML和一个缩略图。我想打开XML文件并解析它,而不必在磁盘上解压。解析内存中的zip内的XML
DocumentBuilder的解析方法之一需要一个InputStream。有没有办法在Zipped文件中获取XML的InputStream?我有点迷路了。我很确定ZipInputStream或ZipFile有东西可以提供,但我无法弄清楚它:/
谢谢你提前!
我有一个包含两个文件的Zip:一个XML和一个缩略图。我想打开XML文件并解析它,而不必在磁盘上解压。解析内存中的zip内的XML
DocumentBuilder的解析方法之一需要一个InputStream。有没有办法在Zipped文件中获取XML的InputStream?我有点迷路了。我很确定ZipInputStream或ZipFile有东西可以提供,但我无法弄清楚它:/
谢谢你提前!
我相信你正在寻找的东西是这样的:
FileInputStream fin = new FileInputStream("your.zip");
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry ze = null;
while ((ze = zin.getNextEntry()) != null) {
if (ze.getName().equals("your.xml")) {
// pass zin to DocumentBuilder
}
}
有在java.util.zip一些输入流类,不知道是否有帮助,但它看起来很有希望,特别是ZipInputStream。
我犯了一个可怕的错误,即将InputStream返回到包含解析算法的另一个方法。所以流在解析之前已经关闭了:/ – pek 2011-03-20 00:34:38