如何将对象转换成字节流?

如何将对象转换成字节流?
/*
* @(#)BeanXML.java 1.00 2005-10-7
*
* Copyright 2005 BeanSoft Studio. All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package beansoft.xml;

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;

/**
* BeanXML
*
* Chinese documents:
*
* @author BeanSoft
* @version 1.00 2005-10-7
*/
public class BeanXML {
/**
* 使用 java.beans.XMLEncoder 将 对象编码为 XML.
* @param bean 对象
* @return String - 编码后的 XML
*/
public static String encodeBean(Object bean) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
XMLEncoder encoder = new XMLEncoder(out);
encoder.writeObject(bean);
encoder.close();

return out.toString();
}

/**
* 使用 java.beans.XMLDecoder 将 XML 解码为 对象.
* @param xml - 编码后的 XML
* @return Object 反编码后的对象
*/
public static Object decodeBean(String xml) {
try {
// FIXME 必须使用 GBK 解码才对, 否则出来的文字是乱码?
XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(xml.getBytes("GBK")));
return decoder.readObject();
} catch (UnsupportedEncodingException e) {
}

return null;
}
}

你可能感兴趣的:(如何将对象转换成字节流?)