zoukankan      html  css  js  c++  java
  • Java第三十四天,IO操作(续集),非基本对象的读写——序列化流

    一、序列化与反序列化

    以前在对文件的操作过程当中,读写的对象都是最基本的数据类型,即非引用数据类型。那么如果我们对饮用数据类型(即对象类型)数据进行读写时,应该如何做呢?这就用到了序列化与反序列化。

    需要注意的是:

    1.任何利用序列化流读写的对象,都必须实现 Serializable 接口。该接口并没有任何抽象方法,只是单纯的起到了标志的作用

    2.反序列化流使用时,必须存在用到的

    二、ObjectOutputStream

    该类是序列化输出流类,用于写数据

    1.构造方法

    ObjectOutputStream(OutputStream out)

    2.常用方法

    void writeObject(Object obj) ===> 将指定的对象写入ObjectOutputStream

    3.具体使用

    对象类:

    import java.io.Serializable;
    
    public class Student implements Serializable {
        private int age;
        private String depart;
    
        Student(int age, String depart){
            this.age = age;
            this.depart = depart;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getDepart() {
            return depart;
        }
    
        public void setDepart(String depart) {
            this.depart = depart;
        }
    }
    

    应用类:

    import java.io.*;
    
    public class MyObject {
        public static void main(String[] args) throws IOException {
            Student student = new Student(20,"软件技术");
            ObjectOutputStream file = new ObjectOutputStream(new FileOutputStream("F:\object.txt"));
            file.writeObject(student);
            file.close();
        }
    }

    三、ObjectInputStream

    该类是反序列化输入流,用于读取数据

    1.构造方法

    ObjectInputStream(InputStream in)

    2.常用方法

    Object readObject() ===> 从ObjectInputStream读取一个对象

    3.使用方法

    import java.io.*;
    
    public class MyObject {
        public static void main(String[] args) throws IOException, ClassNotFoundException {
       
            ObjectInputStream file = new ObjectInputStream(new FileInputStream("F:\object.txt"));
            Object object = file.readObject();
            file.close();
            Student student = (Student)object;
            System.out.println(student.getAge() + " " + student.getDepart());
        }
    }
  • 相关阅读:
    Java的一天学习
    IIS7配置PHP图解
    主流HTML5游戏框架的分析和对比
    HTTP请求
    hibernate -- 数据库连接池的失效检查设置
    mysql备份
    深入探索SOAP1.1--使用SAAJ1.2.1
    JDBC连接执行MySQL存储过程报权限错误
    mysql(connector/ODBC)
    mysql查询优化(三)
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700441.html
Copyright © 2011-2022 走看看