java 序列化与解序列化

小例

import java.io.*;
public class Box implements Serializable{
    private int width;
    private int height;
    public void setWidth(int w){
        width = w;
    }
    public void setHeight(int h){
        height = h;
    }
    public int getWidth(){
        return width;
    }
    public int getHeight(){
        return height;
    }
    public static void main(String[] args){
        Box myBox = new Box();
        myBox.setWidth(20);
        myBox.setHeight(100);

        try {
            FileOutputStream fs = new FileOutputStream("foo.ser");
            ObjectOutputStream os = new ObjectOutputStream(fs);
            os.writeObject(myBox);
            os.close();
        } catch (Exception ex){
            ex.printStackTrace();
        }

        myBox = null;

        try{
            FileInputStream fis = new FileInputStream("foo.ser");
            ObjectInputStream is = new ObjectInputStream(fis);
            Box readBox = (Box) is.readObject();
            System.out.println("Box Obj width:" + readBox.getWidth());
            System.out.println("Box Obj height:" + readBox.getHeight());
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
}

结果

Box Obj width:20
Box Obj height:100

图示

序列化

反序列化  

posted @ 2017-03-19 20:11  jihite  阅读(488)  评论(0编辑  收藏  举报