package serializable;
import java.io.Serializable;
/**
* 实现具有序列化能力的类(把对象变为二进制数据流)
* implements Serializable
*/
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
private String dept;
//public Employee(){}
public Employee(String name,int age,String dept){
this.name = name;
this.age = age;
this.dept = dept;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setDept(String dept){
this.dept = dept;
}
public String getDept(){
return dept;
}
public void showInfo(){
System.out.println("name:" + name + "\tage:" + age + "\tdept:" + dept);
}
}
package serializable;
import java.io.*;
public class WriteObject {
public static void main(String[] args) {
try {
FileOutputStream fos ;
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.ser"));
oos.writeObject(new Employee("张三", 28, "市场部"));
oos.writeObject(new Employee("李四", 34, "技术部"));
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package serializable;
import java.io.*;
public class ReadObject {
public static void main(String[] args) {
try {
FileInputStream fis ;
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.ser"));
Employee e1 = (Employee) ois.readObject();
Employee e2 = (Employee) ois.readObject();
e1.showInfo();
e2.showInfo();
ois.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}