десериализовать stringBuffer - PullRequest
1 голос
/ 06 марта 2011

У меня есть поле db varchar, похожее на результат сериализации Java StringBuffer:

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

как мне десериализовать его в String?

1 Ответ

2 голосов
/ 07 марта 2011

По сути, вам нужно сделать это:

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();

Вам нужно будет надеяться, что вы действительно сможете получить исходные байты, полученные при сериализации, и что они не были преобразованы на своем пути.в и из БД.

...