[Java 12 IO] Serializable 初步 ObjectOutputStream ObjectInputStream 将序列化的对象打出来
Person 类, 序列化后就代表对象可以作为二进制的数据流进行传输
package com.qunar.basicJava.javase.io.serializable; import java.io.Serializable; /** * Author: libin.chen@qunar.com Date: 14-6-6 10:21 */ public class Person implements Serializable { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "姓名 : " + this.name + "; 年龄 : " + this.age; } }ObjectOutputStream 将序列化后的对象写入到文件中
package com.qunar.basicJava.javase.io.serializable; import java.io.*; /** * Author: libin.chen@qunar.com Date: 14-6-6 10:25 */ public class SerDemo01 { public static void main(String[] args) throws IOException { File file = new File("/home/hp/tmp/test.txt"); ObjectOutputStream objectOutputStream = null; OutputStream outputStream = new FileOutputStream(file); objectOutputStream = new ObjectOutputStream(outputStream); objectOutputStream.writeObject(new Person("张三", 30)); outputStream.close(); } }ObjectInputStream 将序列化的对象传回来
package com.qunar.basicJava.javase.io.serializable; import java.io.*; /** * Author: libin.chen@qunar.com Date: 14-6-6 10:27 */ public class SerDemo02 { public static void main(String[] args) throws IOException, ClassNotFoundException { File file = new File("/home/hp/tmp/test.txt"); ObjectInputStream objectInputStream = null; InputStream inputStream = new FileInputStream(file); objectInputStream = new ObjectInputStream(inputStream); Object object = objectInputStream.readObject(); objectInputStream.close(); System.out.println(object); } }