How to write object to a file in java
原创
©著作权归作者所有:来自51CTO博客作者sxdtzhaoxinguo的原创作品,请联系作者获取转载授权,否则将追究法律责任
摘要:如果您想要通过网络发送对象,那么您需要将对象写入文件并将其转换成溪流。这个过程可以被称为序列化。对象需要实现Serializable接口,它是标记接口接口,我们将使用java.io。ObjectOutputStream将对象写入文件。
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;
}
}
正如您在上面看到的,如果您想要序列化任何类,那么它必须实现Serializable接口,这是标记接口。Java中的标记接口是没有字段或方法的接口,或者在Java中简单的word空接口称为标记接口
2.SerializeMain.java
package cn.micai.io;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
/**
* 描述:
* <p>
*
* @author: 赵新国
* @date: 2018/6/7 12:10
*/
public class SerializeMain {
public static void main(String [] args) {
Employee emp = new Employee();
emp.setEmployeeId(101);
emp.setEmployeeName("Arpit");
emp.setDepartment("CS");
try {
FileOutputStream fileOutputStream = new FileOutputStream("D://employee.ser");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(emp);
objectOutputStream.close();
fileOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
当你运行程序时,员工。ser会得到创建。它的内容不会以人类可读的格式,但它会将对象存储在文件中。您可以使用ObjectInputStream从文件中读取相同的对象。