zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }
  • 相关阅读:
    PHP自学2——将用户提交表单存储到外部普通文件中
    PHP自学1——简单表单提交
    自学php的几个例子(包含AMP(Apache、MySQL、PHP)环境搭建链接)
    自学SQL语言的例子(使用MySQL实现)
    自学XML DOM的几个例子
    学习DTD和Schema的几个例子
    自学Xpath的几个例子
    自学XSL的几个例子
    java数据库连接池的介绍与定义一个简单的连接池
    Jquery Ajax 复杂json对象提交到WebService
  • 原文地址:https://www.cnblogs.com/kenantongxue/p/13984499.html
Copyright © 2011-2022 走看看