反序列化stringBuffer

时间:2011-03-06 19:48:18

标签: java hibernate deserialization stringbuffer

我有一个db varchar字段看起来像是Java StringBuffer序列化的结果:

íjava.lang.StringBuffer [many random characters here removed for this question]

如何将其反序列化为String?

1 个答案:

答案 0 :(得分:2)

基本上你需要这样做:

byte[] varcharContents = ... // get the bytes of the field, not via a String
ObjectInputStream ois = 
    new ObjectInputStream(new ByteArrayInputStream(varcharContents));
StringBuffer sb = (StringBuffer)ois.readObject();
String s = sb.toString();

您必须希望能够真正获得序列化产生的原始字节,并且它们在进出数据库的过程中没有被转换。