java中讲讲ObjectInputStream的用法
ObjectInputStream的用法
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
马克-to-win:ObjectInputStream顾名思义就是可以从流中读入一个用户自定义的对象。一定要注意ObjectOutputStream与ObjectInputStream必须配合使用,且按同样的顺序。
例:2.5.1
import java.io.Serializable;
//类必须实现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();
}
}
输出结果是:
name:张三 id:1
name:李四 id:2