2017-02-09 57 views
0

我有這個下面的代碼序列化和壓縮字符串:java.util.zip.GZIPOutputStream的輸出字節數組是否便攜?

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; 
    } 
} 

是返回的byte []便攜?我將它存儲在數據庫的blob字段中。是否可以用任何非Java程序(C++,.Net)檢索和解壓縮?做這個非Java程序恢復原始的String文本?

回答

0

是的,gzip流是可移植的,原始的未壓縮數據將被準確恢復。當然假設您忠實地傳輸二進制壓縮數據。我經常發現,由於行尾轉換或unicode文本轉換可能會很容易避免。