Compression 是java.util.zip.GZIPOutputStream';输出字节数组是否可移植?
我有以下代码来序列化和压缩字符串:Compression 是java.util.zip.GZIPOutputStream';输出字节数组是否可移植?,compression,gzip,Compression,Gzip,我有以下代码来序列化和压缩字符串: private byte[] toZip(String xml) { try{ ByteArrayOutputStream bos = new ByteArrayOutputStream(); GZIPOutputStream gz = new GZIPOutputStream(bos); ObjectOutputStream oos = new ObjectOutputStream(gz);
private byte[] toZip(String xml) {
try{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
GZIPOutputStream gz = new GZIPOutputStream(bos);
ObjectOutputStream oos = new ObjectOutputStream(gz);
oos.writeObject(xml);
oos.flush();
oos.close();
return bos.toByteArray();
} catch (IOException e){
log.error("Error", e);
if(log.isEnabledFor(MucamLogger.FINEST))log.finest(xml);
return null;
}
}
返回的字节[]是否可移植?。我将其存储在数据库的blob字段中。它能用任何非Java程序(C++、.Net)检索和解压缩吗?。此非Java程序是否恢复原始字符串文本?是的,gzip流是可移植的,原始未压缩数据将准确恢复。当然,假设您正在忠实地传输二进制压缩数据。我经常看到由于行尾转换或unicode文本转换而导致的混乱,这些转换可以很容易避免