摘要:在这篇文章中,我们将看到如何从java中读取对象。在上一篇文章中,我们已经看到了如何将客体写入文件并创建employee。现在在这篇文章中,我们将阅读相同的文件并检索Employee对象。
从文件中读取对象的Steos是:使用ObjectInputStream从文件读取对象可以被称为反序列化。
1.Employee.java
package cn.micai.io;
import java.io.Serializable;
/**
* 描述:
* <p>
*
* @author: 赵新国
* @date: 2018/6/7 12:10
*/
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
int employeeId;
String employeeName;
String department;
public int getEmployeeId() {
return employeeId;
}
public void setEmployeeId(int employeeId) {
this.employeeId = employeeId;
}
public String getEmployeeName() {
return employeeName;
}
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
2.DeserializeMain.java
package cn.micai.io;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
/**
* 描述:
* <p>
*
* @author: 赵新国
* @date: 2018/6/7 12:13
*/
public class DeserializeMain {
public static void main(String [] args) {
Employee emp = null;
try {
FileInputStream inputStream = new FileInputStream("D://employee.ser");
ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
emp = (Employee) objectInputStream.readObject();
objectInputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
return;
} catch (ClassNotFoundException e) {
System.out.println("Employee class not found");
e.printStackTrace();
return;
}
System.out.println("Deserialized Employee...");
System.out.println("Emp id: " + emp.getEmployeeId());
System.out.println("Name: " + emp.getEmployeeName());
System.out.println("Department: " + emp.getDepartment());
}
}
3.运行结果: