Java中的对象流总结(必看篇)
时间:2021-07-14 07:55:27|栏目: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();
}
}
栏 目:JAVA代码
下一篇:SpringBoot2使用Jetty容器操作(替换默认Tomcat)
本文标题:Java中的对象流总结(必看篇)
本文地址:http://www.codeinn.net/misctech/156896.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




