压缩Java平减器输出
在Java中,我创建了一个名为Writer的类,它扩展了 它用以下代码初始化,其中bos是字节输出流:
this.internalWriter = new Writer(bos, Manager.defaultSize, new Deflater(Deflater.DEFAULT_COMPRESSION, true));
我什么时候打电话
bos.writeTo(System.out);
一切似乎都正常。但我注意到,如果我通过将bos转换为字节数组来检查bos实际输出的内容,它总是在任何事情的末尾输出这三个字节,我不知道为什么会发生这种情况。。。有什么想法吗?这会导致我的压缩算法出现问题
这三个字节如下:
[-27,2,0]
# 1 楼答案
java中的
Writer
将所有内容都视为String
,因此您看到的是\r\n\0
,这是一个DOS换行符序列,后跟一个字符串终止符