package com.inclass;
import java.io.Serializable;
//实例化序列化接口
public class student implements Serializable{
private static final long serialVersionUID = 1L;
public String name;
public int age;
//其他set get 构造方法的代码就简单的隐藏啦
}
public class test315c {
public static void main(String[] args) {
String path = "C:" + File.separator + "Users" + File.separator + "13165" + File.separator + "Desktop"
+ File.separator + "test"+File.separator+"test01.txt";//文件路径
try {
//序列化操作,可分解看该处构造/*序列化过程:1、实现列化接口(implements Serializable)--->2、序列化操作oos=oos(fos(file)) --->3、将对象写入流中oos.writerobject(obj) --->4、关闭流 oos.close();*/
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(new File (path),true));
List<student> lists=new ArrayList<>();//使用List集合来存放需要放入文件的多个对象
lists.add(new student("677",1));
lists.add(new student("677",2));
lists.add(new student("677",3));
lists.add(new student("677",4));
lists.add(new student("677",5));
oos.writeObject(lists); //写入文件
System.out.println("成功");
oos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//反序列化
public class test315cs {
public static void main(String[] args) {
String path = "C:" + File.separator + "Users" + File.separator + "13165" + File.separator + "Desktop"
+ File.separator + "test"+File.separator+"test01.txt";
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(new File (path)));
List<student> lists=new ArrayList<>();
lists=(List<student>)ois.readObject();//使用list集合接收
ois.close();
for (int i = 0; i < lists.size(); i++) {
System.out.println(lists.get(i).name+"...."+lists.get(i).age);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}