java对象与字符串之间的序列化和反序列化

java对象与字符串之间的序列化和反序列化

本文转载自 java对象与字符串之间的序列化和反序列化

package com.lifeng.seri;  

import java.io.ByteArrayInputStream;  
import java.io.ByteArrayOutputStream;  
import java.io.IOException;  
import java.io.ObjectInputStream;  
import java.io.ObjectOutput;  
import java.io.ObjectOutputStream;  

import org.junit.Test;  

import com.lifeng.domain.Department;  

public class Serial2Obj {  
    /** 
     * Object对象与string之间的序列化和反序列化 
     * @throws IOException  
     * @throws ClassNotFoundException  
     */  
    @Test  
    public void obj2String() throws IOException, ClassNotFoundException{  
        //Object 序列化成string  
        Department dept = new Department("1","开发部","开发");  
        ByteArrayOutputStream byteArrayOutputStream = new    ByteArrayOutputStream();  
        ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream);  
        out.writeObject(dept);  
        String deptString = byteArrayOutputStream.toString("ISO-8859-1");//必须是ISO-8859-1  
        System.out.println("===>"+deptString);  

        //String 的反序列化  
        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(deptString.getBytes("ISO-8859-1"));  
        ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);  
        Department dept2 = (Department) objectInputStream.readObject();  
        System.out.println(dept2);  
        System.out.println(dept2.getDeptID()+"=="+dept2.getDeptName()+"=="+dept2.getDeptDesc());  

        out.close();  
        byteArrayOutputStream.close();  
        objectInputStream.close();  
        byteArrayInputStream.close();  
    }  
}  

猜你喜欢

转载自blog.csdn.net/love_parents/article/details/78832489
今日推荐