我有一個包含兩個文件的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