java中 使用输入+输出流对对象序列化
Posted 梓★鸿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 使用输入+输出流对对象序列化相关的知识,希望对你有一定的参考价值。
对象: 注意记得实现 Serializable
package com.nf147.sim.entity; import java.io.Serializable; public class News implements Serializable { private int id; private String title; private String body; public News() { } public News(int id, String title, String body) { this.id = id; this.title = title; this.body = body; } public News(String title, String body) { this.title = title; this.body = body; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } @Override public String toString() { return "News{" + "id=" + id + ", title=\'" + title + \'\\\'\' + ", body=\'" + body + \'\\\'\' + \'}\'; } }
@Test
public void serialize() throws IOException { //对象序列化
List<News> list = Arrays.asList(
new News("yuandn", "放假了"),
new News("春节", "快来了")
);
FileOutputStream fileOutputStream = new FileOutputStream(new File("e:/news.class"));
ObjectOutputStream stream = new ObjectOutputStream(fileOutputStream);
stream.writeObject(list);
System.out.println("文件输出完成");
stream.close();
}
@Test
public void deserialization() throws IOException, ClassNotFoundException { //对象反序列号
FileInputStream fileInputStream = new FileInputStream(new File("e:/news.class"));
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object o = objectInputStream.readObject();
System.out.println(o);
System.out.println("文件输入完成");
objectInputStream.close();
}
结果:
以上是关于java中 使用输入+输出流对对象序列化的主要内容,如果未能解决你的问题,请参考以下文章
Java 对象流(输入-输出)objectoutputstream序列化报错