Java 如何向充气机添加更多压缩数据?

Java 如何向充气机添加更多压缩数据?,java,zlib,randomaccessfile,Java,Zlib,Randomaccessfile,setInput似乎没有将数据附加到充气器对象中 背景: 我有一个RandomAccessFile对象,我试图读取1024字节的数据块,并试图将数据附加到充气机 我正在尝试做的示例: while(compressedSize > 0) { int size = Math.min(1024, compressedSize); raf.readFully(buf, 0, 1024); inflater.setInput(buf, 0, size); // want to appen

setInput似乎没有将数据附加到充气器对象中

背景: 我有一个RandomAccessFile对象,我试图读取1024字节的数据块,并试图将数据附加到充气机

我正在尝试做的示例:

while(compressedSize > 0) {
  int size = Math.min(1024, compressedSize);
  raf.readFully(buf, 0, 1024);
  inflater.setInput(buf, 0, size); // want to append buf to inflater, not set
}

while(! inflater.finished()) {
  int size = inflater.inflate(buf);
  outputStream.write(buf, 0, size);
}

请将您的代码显示在问题所在的位置。我已添加了一个示例,说明我正在尝试执行的操作。我想要setInput做的是将剩余的压缩数据附加到它拥有的任何缓冲区中,但它没有这样做。您可能还需要使用needsInput()重新加注充气机缓冲区。或者,如果您想要流式传输,可以使用InflatierInputStream。