java中的ObjectInputStream和ObjectOutputStream的讲解

来源:互联网 发布:2016全国地区数据库 编辑:程序博客网 时间:2024/05/17 01:17

import java.io.Serializable;

public class Student implements Serializable{
 
 /**
  * 这个类必须要实现Serializable这个接口
  */
 private static final long serialVersionUID = 1L;
 private Integer id;
 private String name;
 private String department;
 public Student(Integer id, String name, String department) {
  this.id = id;
  this.name = name;
  this.department = department;
 }
 public Integer getId() {
  return id;
 }
 public void setId(Integer id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getDepartment() {
  return department;
 }
 public void setDepartment(String department) {
  this.department = department;
 }
 
 public String toString() {

  return "id:" + this.id + ", name:" + this.name + ", depatment:" + this.department;
 }
 
 
 
}

 

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializationObjectStream {
 
 public static void main(String[] args) throws Exception {
  
  Student stu1 = new Student(1, "张三", "女生部");
  Student stu2 = new Student(2, "李四", "男生部");
  FileOutputStream fileOutputStream = new FileOutputStream("a.txt");
  //这是写入对象
  ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
  //这是写入对象到对象流中
  objectOutputStream.writeObject(stu1);
  objectOutputStream.writeObject(stu2);
  objectOutputStream.close();
  
  FileInputStream fileInputStream = new FileInputStream("a.txt");
  //这是读取对象流
  ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
  //这是从对象流读取对象的方法
  stu1 = (Student)objectInputStream.readObject();
  stu2 = (Student)objectInputStream.readObject();
  objectInputStream.close();
  System.out.println(stu1.toString());
  System.out.println(stu2.toString());
 }
 

}

原创粉丝点击