通过类ObjectInputStream和ObjectOutputStream序列化和反序列化
java类是否可以序列化只需要看类是否实现了java.io.Serializable接口
(1). java序列化对象到文件
// 初始化对象 Friend friend = new Friend(); friend.age = 18; friend.name = "高久峰"; // 初始化文件,用于保存序列化的内容 FileOutputStream fileOut = new FileOutputStream("/tmp/fileOut"); // 初始化对象输出流对象 ObjectOutputStream objectOut = new ObjectOutputStream(fileOut); // 序列化对象并保存 objectOut.writeObject(friend); objectOut.close(); fileOut.close();
(2). java反序列化对象
// 初始化文件,用于读取序列化的内容 FileInputStream fileIn = new FileInputStream("/tmp/fileOut"); // 初始化对象输出流对象 ObjectInputStream objectIn = new ObjectInputStream(fileIn); // 反序列化对象 Friend friend = (Friend) objectIn.readObject(); System.out.println(friend.name);