-1

既に定義済みの GZIPOutput ストリームがあります。今、それをバイト配列に変換したいと思います。

以下のコードを試しました。しかし、それはエラーを出します。

GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();

エラー: メソッド "toByteArray()" を解決できません

バイト配列への GZIP 圧縮をチェックしましたが、byte[] を入力しています。既に持っている gzip を変換する必要があります。

4

1 に答える 1

3

既に定義されている GZIPOutput ストリームがあります。今、それをバイト配列に変換したいと思います。

GZIPOutputStreamを に送信するように、 を作成しているメソッドを変更する必要がありByteArrayOutputStreamます。

FileOutputStreamまたは、 (おそらく) 圧縮データを書き込んでいるファイルの を閉じた後、入力用に開き、バイト配列に読み込みます。


現在の試みについて:

GZIPOutputStream zipStream = createGZIP();
byte[] compressedData = zipStream.toByteArray();

このアプローチは機能しません。

  • GZIPOutputStream圧縮データを取得するための API メソッドは提供されません。
  • GZIPOutputStreamGZIPOutputStream書き込み先のストリームを取得するための API メソッドは提供されません。(そして、あったとしても、ほとんどOutputStreamのタイプではデータを取得できません...)

一般に、使用するクラスの javadoc を見つけて読むことをお勧めします。どのようなメソッドが提供されているかを推測してプログラミングすると、推測が間違っていると時間を無駄にする可能性があります。

于 2019-06-18T07:20:38.727 に答える