• Java(31):序列化和反序列化


    package zzz;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    
    public class SerializationTest {
    
        public static void main(String[] args) throws IOException, ClassNotFoundException {
    
            Student stu = new Student("zzz", "123456", 18);
    
    // 序列化:把对象信息写入到本地文件里
    // 1.File对象打开本地文件
            File file = new File("f:\object.ser");
    // 2.建立数据通道
            FileOutputStream fos = new FileOutputStream(file);
    // 3.创建输出流对象:把对象转成字节数据的输出到文件中保存
    // 构造方法中传递字节输出流
            ObjectOutputStream ops = new ObjectOutputStream(fos);
    // 4.对象写入到硬盘上
            ops.writeObject(stu);
    // 5.释放资源
            ops.close();
    
            System.out.println(stu);
    
    // 反序列化
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            Student student = (Student) ois.readObject();
            System.out.println(student);
            System.out.println(student.getUserName() + ", " + student.getPassWord() + ", " + student.getAge());
        }
    
    }
    
    class Student implements Serializable {
        public static final long UID = 123L;
    
        private String userName;
        private String passWord;
        private int age;
    
        public Student(String userName, String passWord, int age) {
            this.userName = userName;
            this.passWord = passWord;
            this.age = age;
            System.out.println("Student end.");
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getUserName() {
            return this.userName;
        }
    
        public void setPassWord(String passWord) {
            this.passWord = passWord;
        }
    
        public String getPassWord() {
            return this.passWord;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public int getAge() {
            return this.age;
        }
    
        @Override
        public String toString() {
            return "Student: userName=" + userName + ", passWord=" + passWord + ", age=" + age;
        }
    
    }
  • 相关阅读:
    Java异常的深层次理解
    Java笔记1_java基础
    oracle怎么实现id自增和设置主键
    C51最小系统
    文本输入方式的pspice仿真步骤
    外部中断实验
    客户端测试
    定时器实验
    linklist template
    dfs:10元素取5个元素的组合数
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/13984499.html
Copyright © 2020-2023  润新知