import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObSriaInOut {
public static void main(String[] args) throws IOException, ClassNotFoundException{
Persen p=in();
Persen p2=out();
System.out.println(p);
System.out.println(p2);
}
public static Persen out() throws IOException, FileNotFoundException {
//創建對象輸出流,在使用對象輸出流時候必須進行對象序列化,否知會報錯java.io.NotSerializableException
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("f:\\person.bin",false));
//創建一個persn對象
Persen p = new Persen("張大",22,5000);
//寫出對象流
oos.writeObject(p);
//關閉流
oos.flush();
oos.close();
return p;
}
public static Persen in() throws IOException, FileNotFoundException, ClassNotFoundException {
//創建對象輸入流
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("f:\\person.bin"));
//讀取對象流
Persen p=(Persen) ois.readObject();
ois.close();
System.out.println(p.toString());
return p;
}
}
//persen类
package com.javabase.obj.serializable;
import java.io.Serializable;
public class Persen implements Serializable{
private String name;
private double sal;
private int age;
public Persen() {
super();
}
//構造方法用於初始化成員參數
public Persen(String name, double sal, int age) {
super();
this.name = name;
this.sal = sal;
this.age = age;
}
@Override
public String toString() {
return this.name+"---"+this.age+"---"+this.sal;
}
}