**
* xml传递<a href="http://lib.csdn.net/base/17" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>对象字节流
*/
try {
//初始化Java对象
Message msg = new Message();
msg.setStatus(Message.HELLO);
msg.setMessage("come from china!");
//序列化对象
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(bOut);
objOut.writeObject(msg);
//base64 encode
BASE64Encoder encode = new BASE64Encoder();
String xmlStr = encode.encode(bOut.toByteArray());
//xml file string
StringBuffer xmlFile = new StringBuffer();
xmlFile.append("<?xml version=/"1.0/" encoding=/"UTF-8/"?>")
.append("<rule>")
.append("<obj>"+xmlStr+"</obj>")
.append("</rule>");
System.out.println("xml: "+xmlFile.toString());
//parse xml
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(xmlFile.toString().getBytes()));
Element root = (Element) doc.getElementsByTagName("obj").item(0);
String xmlNode = root.getFirstChild().getNodeValue();
//base64 decode
BASE64Decoder decode = new BASE64Decoder();
byte[] objBytes = decode.decodeBuffer(xmlNode);
//反序列化
ByteArrayInputStream bIn = new ByteArrayInputStream(objBytes);
ObjectInputStream objIn = new ObjectInputStream(bIn);
Object obj = objIn.readObject();
if(obj != null){
if (obj instanceof Message) {
Message m = (Message)obj;
System.out.println("Status: "+m.getStatus());
System.out.println(m.getMessage());
}
}
} catch (Exception e) {
e.printStackTrace();
}
* xml传递<a href="http://lib.csdn.net/base/17" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>对象字节流
*/
try {
//初始化Java对象
Message msg = new Message();
msg.setStatus(Message.HELLO);
msg.setMessage("come from china!");
//序列化对象
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(bOut);
objOut.writeObject(msg);
//base64 encode
BASE64Encoder encode = new BASE64Encoder();
String xmlStr = encode.encode(bOut.toByteArray());
//xml file string
StringBuffer xmlFile = new StringBuffer();
xmlFile.append("<?xml version=/"1.0/" encoding=/"UTF-8/"?>")
.append("<rule>")
.append("<obj>"+xmlStr+"</obj>")
.append("</rule>");
System.out.println("xml: "+xmlFile.toString());
//parse xml
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(xmlFile.toString().getBytes()));
Element root = (Element) doc.getElementsByTagName("obj").item(0);
String xmlNode = root.getFirstChild().getNodeValue();
//base64 decode
BASE64Decoder decode = new BASE64Decoder();
byte[] objBytes = decode.decodeBuffer(xmlNode);
//反序列化
ByteArrayInputStream bIn = new ByteArrayInputStream(objBytes);
ObjectInputStream objIn = new ObjectInputStream(bIn);
Object obj = objIn.readObject();
if(obj != null){
if (obj instanceof Message) {
Message m = (Message)obj;
System.out.println("Status: "+m.getStatus());
System.out.println(m.getMessage());
}
}
} catch (Exception e) {
e.printStackTrace();
}