通俗来讲就是:将对象的状态转化成字节流再以文件形式保存,以后可以通过文件再生成相同状态的对象。
注意:只有继承Serializable接口的类才能被序列化,如果要序列化的类中有类成员,类成员也要继承此接口才能被序列化
ObjectInputStream 反序列化(读取数据,从文件->内存)
ObjectOutputStream 序列化(保存数据,从内存->文件)
文件到内存:
FileInputStream fis = new FileInputStream("文件地址");
ObjectInputStream ois = new ObjectInputStream(fis);
//将读取的转换回类
Data data = (Data) ois.readObject();
fis.close();
ois.close();
内存到文件:
String path = "保存路径";
File file = new File(path);
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(this);
oos.flush();//清除缓存,相当于提交缓存中的数据
oos.close();