我有一个java库,我想把java对象的一个实例保存到一个文本文件中。我尝试使用所有java库来序列化和反序列化到xml:http://karussell.wordpress.com/2009/09/03/xml-serializers-for-java/,但是反序列化不起作用。我在这里发布了一个问题:http://stackoverflow.com/questions/6139702/deserializing-xml-file-from-xstream,但我似乎找不到解决方案。
我也尝试过序列化到json,但是从json反序列化不起作用。
那么,我想知道apart of serializing to xml and json,有没有其他方法可以从java对象(不能修改为添加标签:@XmlRootElement(name="customer"))到文本文件进行序列化和反序列化?
提前感谢!
发布于 2011-05-28 18:11:59
最简单的方法可能是使用本机Java序列化。它将生成对象的二进制表示形式,但您可以使用Base64对生成的字节数组进行编码,以将其转换为文本:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(myObject);
oos.flush();
byte[] binary = baos.toByteArray();
String text = Base64.encodeBase64String(binary); // Base64 is in the apache commons codec library
// save text to a file请注意,该对象及其(递归地)引用的每个对象都必须实现java.io.Serializable才能正常工作。
发布于 2011-05-28 17:55:03
https://stackoverflow.com/questions/6160848
复制相似问题