JAVA IO—对象流
一.ObjectOutputStream
ObjectOutputStream可以将Java对象写入OutputStream。
public static void main(String[] args) throws Exception {
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("d:/student.data"));
Student stu = new Student();
stu.name = "test";
stu.age = 12;
objectOutputStream.writeObject(stu);
objectOutputStream.close();
}
public static class Student implements Serializable {
public int age;
public String name;
}
二.ObjectInputStream
ObjectInputStream性质与ObjectOutputStream一样,只不过它是从InputStream中读取对象。
public static void main(String[] args) throws Exception {
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("d:/student.data"));
Student stuRead = (Student) objectInputStream.readObject();
objectInputStream.close();
System.out.println(stuRead.name);
System.out.println(stuRead.age);
}
public static class Student implements Serializable {
public int age;
public String name;
}
三.序列化
如果要使用ObjectInputStream或ObjectOutputStream,就必定会涉及序列化。对一个类进行序列化或反序列化时,这个类就必须实现Serializable接口。序列化类中的serialVersionUID用于确定反序列化对象是否使用相同版本的类进行序列化。