java中講講ObjectInputStream的用法

ObjectInputStream的用法
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
馬克-to-win:ObjectInputStream顧名思義就是可以從流中讀入一個(gè)用戶自定義的對(duì)象。一定要注意ObjectOutputStream與ObjectInputStream必須配合使用,且按同樣的順序。



例:2.5.1

import java.io.Serializable;
//類必須實(shí)現(xiàn)Serializable接口才可以被序列化, otherwise report error of java.io.NotSerializableException: J10.Employee
public class Employee implements Serializable {
    private String name;
    private int id;

    public Employee(String name,int id){
        this.name = name;
        this.id = id;
    }

    public void showInfo(){
        System.out.println("name:" + name + "\tid:" + id );
    }
}




例:2.5.2

import java.io.*;
public class TestMark_to_win {
    public static void main(String[] args) throws IOException{
            FileOutputStream fos = new FileOutputStream("c://data.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(new Employee("張三",1));
            oos.writeObject(new Employee("李四",2));
            oos.close();
    }
}


例:2.5.3

import java.io.*;
public class TestMark_to_win {
    public static void main(String[] args) throws IOException, ClassNotFoundException{
            FileInputStream fis = new FileInputStream("c://data.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            Employee e1 = (Employee)ois.readObject();
            Employee e2 = (Employee)ois.readObject();
              
            e1.showInfo();
            e2.showInfo();
            ois.close();
    }
}


輸出結(jié)果是:

name:張三    id:1
name:李四    id:2