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();
}
结果: