我已经有一个已经定义的 GZIPOutput 流。现在我想将它转换为字节数组。
我尝试了下面的代码。但它给出了一个错误。
GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();
错误:无法解析方法“toByteArray()”
检查GZIP 压缩到一个字节数组,但它正在输入一个字节 []。我需要转换一个我已经拥有的 gzip。
我已经有一个已经定义的 GZIPOutput 流。现在我想将它转换为字节数组。
我尝试了下面的代码。但它给出了一个错误。
GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();
错误:无法解析方法“toByteArray()”
检查GZIP 压缩到一个字节数组,但它正在输入一个字节 []。我需要转换一个我已经拥有的 gzip。
我有一个已经定义的 GZIPOutput 流。现在我想将它转换为字节数组。
您将需要修改创建 的方法,GZIPOutputStream
以便将其发送到ByteArrayOutputStream
.
或者,在关闭FileOutputStream
您正在(可能)写入压缩数据的文件后,将其打开以进行输入并将其读入字节数组。
关于您当前的尝试:
GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();
这种方法行不通。
GZIPOutputStream
不提供用于检索压缩数据的 API 方法。 GZIPOutputStream
GZIPOutputStream
不提供用于检索正在写入的流的 API 方法。(即使有,大多数OutputStream
类型也不允许您检索数据......)通常,最好查找并阅读您使用的类的 javadocs。当您的猜测错误时,通过猜测他们提供的方法进行编程很可能会导致您浪费时间。