如何解压缩字节数组中的gzip压缩数据?

我有一个类,它有一个接收对象作为参数的方法。 通过RMI调用此方法。

public RMIClass extends Serializable { public RMIMethod(MyFile file){ // do stuff } } 

MyFile有一个名为“body”的属性,它是一个字节数组。

 public final class MyFile implements Serializable { private byte[] body = new byte[0]; //.... public byte[] getBody() { return body; } //.... } 

此属性包含由另一个应用程序解析的文件的gzip压缩数据。

在执行进一步的操作之前,我需要解压缩此字节数组。

我看到的解压缩gzip压缩数据的所有例子都假设我想将它写入磁盘并创建一个物理文件,我不这样做。

我该怎么做呢?

提前致谢。

使用ByteArrayInputStream包装字节数组并将其提供给GZipInputStream

查看这些示例,无论他们在哪里使用FileOutputStream,都要使用ByteArrayOutputStream。 无论他们在哪里使用FileInputStream,都要使用ByteArrayInputStream。 其余的应该很简单。

为什么不创建自己的扩展OutputStream的类,或者编写的存档是什么?