我希望从存储在 zip 文件中的 XML 文件中读取数据。我在理解如何做到这一点时遇到了很多问题。我似乎能做的最好的事情就是让输入流正常工作,但我不明白如何阅读它!所以我知道它是正确的文件,不,我想将数据传递给我拥有的 XML 解析器。但是我真的不明白输入流是什么,或者如何正确操作它。我以前见过它与缓冲区一起使用,然后读入缓冲区,我的问题是如果缓冲区足够大,我们如何正确选择缓冲区的大小?
任何帮助都会很棒,谢谢!
ZipFile zf;
try {
zf = new ZipFile(directory);
CharBuffer charBuffer = CharBuffer.allocate(BUFFER_SIZE);
for (Enumeration<? extends ZipEntry> e = zf.entries();
e.hasMoreElements();) {
ZipEntry ze = e.nextElement();
String name = ze.getName();
if (name.endsWith(".xml")) {
InputStream in = zf.getInputStream(ze);
// read from 'in
}
}
} catch (IOException e1) {
System.out.println("Sorry we couldn't find the file");
e1.printStackTrace();
}