序列化流与反序列化流
用于从流中读取对象的
操作流 ObjectInputStream 称为 反序列化流
用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流
特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。
1 对象序列化流ObjectOutputStream
注意:只能将支持 java.io.Serializable 接口的对象写入流中
public static void method01() throws IOException{
//序列化:实体类必须实现Serializable接口
Person p=new Person("zhangsan",18);
//明确目的地
FileOutputStream fos=new FileOutputStream("E:\java\person.txt");
//创建序列化流
ObjectOutputStream oos=new ObjectOutputStream(fos);
//向文件中写入对象
oos.writeObject(p);
//释放资源
oos.close();
}
2 对象反序列化流ObjectInputStream
//反序列化
public static void method02() throws IOException, ClassNotFoundException{
//明确数据源
FileInputStream fis=new FileInputStream("E:\java\person.txt");
//创建反序列化流
ObjectInputStream ois=new ObjectInputStream(fis);
Object obj=ois.readObject();
Person p=(Person)obj;
System.out.println(p);
//释放资源
ois.close();
}