zoukankan      html  css  js  c++  java
  • IO流,对象操作流ObjectOutputStream

    该流可以将一个对象写出,或者读取一个对象到程序中,也就是执行了序列化和反序列化的操作。

    1.创建一个PERSON对象实现Serializable接口。

    public class Person implements Serializable {
    private String name;
    private int age;

    public Person() {
    super();
    // TODO Auto-generated constructor stub
    }

    public Person(String name, int age) {
    super();
    this.name = name;
    this.age = age;
    }

    public String getName() {
    return name;
    }

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

    public int getAge() {
    return age;
    }

    public void setAge(int age) {
    this.age = age;
    }

    @Override
    public String toString() {
    return "Person [name=" + name + ", age=" + age + "]";
    }

    2.进行对象序列化和反序列化。(就是将这两个对象存储到e.txt中,在从e.txt 中读取出来)


    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    public class ObjectOutputStream {
    public static void main(String[] args) throws IOException, ClassNotFoundException{
    test1();
    java.io.ObjectInputStream ois = new java.io.ObjectInputStream(new FileInputStream("e.txt"));
    Person p1 = (Person) ois.readObject();
    Person p2 = (Person) ois.readObject();
    System.out.println(p1);
    System.out.println(p2);
    ois.close();
    }

    private static void test1() throws IOException, FileNotFoundException {
    Person p1= new Person("张三",23);
    Person p2= new Person("李三",23);
    java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(new FileOutputStream("e.txt"));
    oos.writeObject(p1);
    oos.writeObject(p2);
    oos.close();
    }

    }

  • 相关阅读:
    shell习题第12题:批量创建用户
    shell习题第11题:输入数字执行命令
    二、python数据类型、字符编码、文件处理
    C语言之控制语言:分支和跳转
    c语言之控制语句:循环
    C语言之运算符、表达式和语句
    Python集合及其运算
    Python文本处理
    Python迭代器与格式化
    Python装饰器
  • 原文地址:https://www.cnblogs.com/wangffeng293/p/13227445.html
Copyright © 2011-2022 走看看