Java 序列化与反序列化

强颜欢笑 提交于 2020-02-19 04:18:20
import org.junit.Test;
import java.io.*;

public class SerializableTest implements Serializable {


    class Student implements Serializable {
        private String name;
        private String gender;
        private String address;

        public String getName() {
            return name;
        }

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

        public String getGender() {
            return gender;
        }

        public void setGender(String gender) {
            this.gender = gender;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", gender='" + gender + '\'' +
                    ", address='" + address + '\'' +
                    '}';
        }
    }

    /**
     * 序列化
     */
    @Test
    public void serializable() {
        Student student = new Student();
        student.setName("Simon");
        student.setGender("male");
        student.setAddress("WuHan");

        try {
            ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("k:/object.dat"));
            outputStream.writeObject(student);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 反序列化
     */
    @Test
    public void deserialization() {
        try {
            ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("k:/object.dat"));
            Object o = objectInputStream.readObject();
            System.out.println(o.toString());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!