0

在这种情况下,我正在 SAX 解析一个 XML 文件,该文件包含一个 Base64 编码的 zlib 压缩数据元素。我知道如何解码和解压缩数据。问题是我不想一次在内存中完成所有操作。我想分块进行,即时解码/解压缩——逐块。

我的方法是这样...

public void characters(char ch[], int start, int length) throws SAXException {
  // make a new string from ch
  // decode -- I think I need to make sure the String length is a multiple of 4?
  // create ByteArrayInputStream from the String
}

我有一个扩展类,FilterInputStream它保存多个ByteArrayInputStreams,直到它们准备好被阅读。它仍然有错误,但它正在到达那里。我想知道这种方法是否有意义,或者我是否在这里重新发明轮子。有没有更简单的方法来解决这个问题?

4

1 回答 1

0

是的,只需使用FilterInputStream,这就是您所需要的。

于 2013-08-01T22:08:06.007 回答