6

オブジェクトをパラメータとして受け取るメソッドを持つクラスがあります。このメソッドは、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で圧縮されたデータを解凍する例はすべて、データをディスクに書き込んで物理ファイルを作成することを前提としていますが、実際には作成していません。

どうすればよいですか?

前もって感謝します。

4

5 に答える 5

10

バイト配列をByteArrayInputStreamでラップし、 GZipInputStreamにフィードします

于 2008-11-06T21:10:47.817 に答える
1

それらのサンプルを見て、FileOutputStreamを使用している場合は、代わりにByteArrayOutputStreamを使用してください。FileInputStreamを使用している場合は、代わりにByteArrayInputStreamを使用してください。残りは単純なはずです。

于 2008-11-06T21:09:20.690 に答える
0

OutputStreamまたはを拡張する独自のクラスを作成してみませんか?アーカイブの書き込み先は何ですか?

于 2008-11-06T21:06:48.603 に答える