• 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;
        }
    
    }
  • 相关阅读:
    anltr 解析MYSQL
    MYSQL 主从复制
    Java happens-before
    傅里叶分析-数据通信的理论基础
    Java jdk常用工具集合
    kafka报错 日志压缩报错直接退出
    linux centos7开启防火墙端口
    mysql_取分组后的前几行值
    数据库隔离级别
    mysql删除重复数据
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/13984499.html
Copyright © 2020-2023  润新知