Java中如何将对象写入文件

时间:2020-02-23 14:34:24  来源:igfitidea点击:

如果要在网络上发送对象,则需要将对象写入文件并将其转换为流。
该过程可以称为序列化。

对象需要实现序列化接口,该接口是标记接口接口,我们将使用java.io.ObjectOutputStream将对象写入文件。

让我们通过步骤来将对象写入文件。

让我们举个例子:创建员工。

java在src-> org.igi.theitroad

1.Employee.java.

package org.igi.theitroad;
import java.io.Serializable;
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;
    }
}

如上所述,如果要序列化任何类,那么它必须实现序列化接口,这是标记接口。
Java中的标记接口是没有字段或者方法的接口,或者在简单的单词中,Java中的空接口被称为标记接口在SRC-> org.igi.onitoad中创建SerializeMain.java

2.SerializeMain.java.

package org.igi.theitroad;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
 public class SerializeMain {
 
 /**
  * @author igi Mandliya
  */
 public static void main(String[] args) {
 
  Employee emp = new Employee();
  emp.setEmployeeId(101);
  emp.setEmployeeName("igi");
  emp.setDepartment("CS");
  try
  {
   FileOutputStream fileOut = new FileOutputStream("employee.ser");
   ObjectOutputStream outStream = new ObjectOutputStream(fileOut);
   outStream.writeObject(emp);
   outStream.close();
   fileOut.close();
  }catch(IOException i)
  {
   i.printStackTrace();
  }
 }
}

当我们运行上面的程序时,员工将创建。
它的内容不会处于人类可读格式,但它将具有存储在文件上的对象。
我们可以使用ObjectInputStream从文件中读取同一对象。