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