0

Java では、拡張する Writer というクラスを作成しました。これは次のように初期化されます。ここで、bos は ByteOutputStream です。

this.internalWriter = new Writer(bos, Manager.defaultSize, new      Deflater(Deflater.DEFAULT_COMPRESSION, true));

後で私が電話するとき

bos.writeTo(System.out);

すべてがうまくいくようです。しかし、bos が実際にバイト配列に変換して出力しているものを確認すると、常にこれらの 3 バイトが何かの最後に出力されていることに気付きました。これにより、圧縮アルゴリズムで問題が発生しています...

紛らわしい 3 バイトは次のとおりです。

[-27,2,0]
4

1 に答える 1

0

WriterJava の s はすべてを のように扱うStringので、表示されるのは です。\r\n\0これは DOS の改行シーケンスで、その後に文字列ターミネータが続きます。

于 2012-10-25T16:39:56.977 に答える