摘要:在这篇文章中,我们将看到如何从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.运行结果:

How to read object from a file in java_java反序列化