XML과 축소판이라는 두 개의 파일이 포함 된 Zip이 있습니다. XML 파일을 열고 디스크에서 추출하지 않고 파싱하고 싶습니다.메모리 내 zip 내부에서 XML 구문 분석
DocumentBuilder의 구문 분석 메소드 중 하나에는 InputStream이 필요합니다. 압축 된 파일에 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
}
}
나는 파싱 알고리즘을 포함하고있는 다른 메서드로 InputStream을 반환하는 끔찍한 실수를 범했습니다. 따라서 스트림이 파싱되기 전에 이미 닫혔습니다. / – pek