Java中的对象流总结

来源:互联网 发布:知乎山姆休斯顿大学 编辑:程序博客网 时间:2024/06/07 08:10

Java中的对象流总结
Java中可以通过对象流将一个序列化的对象保存到硬盘中,或者硬盘中读取一个对象。对象流的存储和读取包含以下几点内容:
1. 所保存的对象必须实现Serializable接口。
2. 所保存的对象的属性也必须实现Serializable接口。
3. 最好要给该对象提供一个版本号,private static final long serialVersionId。
下面是一个对象流存储和读取一个对象的流程图:
这里写图片描述

class Person implements Serializable { //实现序列化接口,其中的String,int也都是实现了Serializable的,不然就会报错    private static final long serialVersionUID = 7072662597320618920L;    String name;    int age;    public Person(String name, int age) {        this.name = name;        this.age = age;    }    @Override    public String toString() {        return "Person [name=" + name + ", age=" + age + "]";    }}public class ObjectStreamTest {    private ObjectInputStream ips;    @Test    public void outStreamTest() throws Exception {        File file = new File("D:/person.txt");        Person p1 = new Person("hanking", 24);        Person p2 = new Person("Hust", 120);        FileOutputStream fos = new FileOutputStream(file);        ObjectOutputStream ops = new ObjectOutputStream(fos);        ops.writeObject(p2);        ops.writeObject(p1);        ops.flush();        ops.close();    }    @Test    public void InStreamTest() throws Exception {        ips = new ObjectInputStream(new FileInputStream("D:/person.txt"));        Person p1 = (Person) ips.readObject();        System.out.println(":" + p1);        Person p2 = (Person) ips.readObject();        System.out.println(":" + p2);        ips.close();    }}
0 0
原创粉丝点击