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