关于Java 下 Snappy压缩存文件时间:2023-03-10 04:40:32 坑点: 压缩后的byte 数组中会有元素是负数,如果转化成String 存入文件,然后再读取解压缩还原,无法得到原来的结果,甚至是无法解压缩。 原因分析: String 底层是由char 数组构成的,而char 在java 中存储是2字节的无符号数,所以负数byte 在存入String 后转化成对应的 char 会有不正常转化,这个过程不可逆。 处理:压缩后的byte 数组 按 字节写入文件,读取时候按字节读取,就不存在byte数组和字符char 之间的转换。