ここで説明するのと同じプロジェクトを行っています:
私の問題は、バイトを出力しようとすると、奇妙な結果が得られることです。私の問題は次のコードで発生します(変数の選択が間違っていて申し訳ありません):
for(int k = 0; k < head.length; k++){
System.out.write(head[k]);
}
for(int m = 0; m < a.size(); m++){
int comprlength = a.get(m).getclength();
for(int ii = 0; ii < comprlength; ii++){
System.out.write(a.get(m).getcompr()[ii]);
}
}
for(int j = 0; j < f1.length; j++){
System.out.write(f1[j]);
}
for(int ll = 0; ll < total_d.length; ll++){
System.out.write(total_d[ll]);
}
最後の 2 つの for ループは、バイト配列の内容を出力しません。したがって、gzip を使用すると、予期しないファイルの終わりエラーが発生します。奇妙なことに、2 番目の for ループ ブロック (変数 m と ii を持つブロック) をコメント アウトすると、何も出力されません。
では、バイト配列の内容を正しく出力するにはどうすればよいでしょうか? 2 番目の for ループがコメント化されていない場合に最初の for ループが正しく出力されるのはなぜですか? また、2 番目の for ループがコメント化されている場合に何も出力されないのはなぜですか?
編集:
もう少し詳しく言うと:
生のバイトを書き出したい。そして、バイト配列ごとに次々と配置されるようにしたい