Java中的对象流总结(必看篇)

网友投稿 261 2023-05-19


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();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HashMap和Hashtable的详细比较
下一篇:Java中双向链表详解及实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~