天天看點

java 對象序列化、反序列化

幹貨,不用多說直接上代碼

實體類,記得要實作Serializable

package com.cyyaw.entity;

import java.io.Serializable;

public class User implements Serializable {

    private String name;
    private String pwd;
    private Integer age;

    public void setName(String name) {
        this.name = name;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public String getPwd() {
        return pwd;
    }

    public Integer getAge() {
        return age;
    }
}
           

測試

package com.cyyaw.redis;
import java.io.*;

/**
 * 序列化
 */
public class EntitySerializable {


    @Test
    public void test01() throws IOException, ClassNotFoundException {
        User user = new User();
        user.setAge(10);
        user.setName("測試");
        user.setPwd("123");

        //===== 序列化
        ByteArrayOutputStream b = new ByteArrayOutputStream();
        ObjectOutputStream o = new ObjectOutputStream(b);
        o.writeObject(user);
        System.out.println(b.size());

        //===== 反序列化
        ObjectInputStream ob = new ObjectInputStream(b.newInputStream());
        User user1 = (User) ob.readObject();
        System.out.println(user1.getName());
    }
}
           
java 對象序列化、反序列化

當然儲存資料 ,可以用其他,檔案、流等  。 自己發輝