【发布时间】:2016-07-05 22:48:11
【问题描述】:
我正在做与这里描述的相同的项目:
Wrap deflated data in gzip format
我的问题是当我尝试打印字节时,我得到了奇怪的结果。我的问题出现在以下代码中(对不起,我选择的变量不好):
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]);
}
最后两个 for 循环不会打印出它们的字节数组的内容。因此,使用 gzip 时出现意外的文件结束错误。奇怪的是,如果我注释掉第二个 for 循环块(带有变量 m 和 ii 的块),什么都不会打印出来。
那么如何正确打印出我的字节数组的内容呢?为什么当第二个 for 循环没有注释时第一个 for 循环正确打印出来,如果第二个 for 循环被注释,为什么它不打印任何内容?
编辑:
更具体一点:
我想写出原始字节。我想这样做,以便我的每个字节数组都紧随其后
【问题讨论】:
-
如果您使用 System.out.write,您可能需要通过在代码末尾写入“\n”字符来刷新输出流。