Javaでファイルにオブジェクトを格納する

オブジェクトの保存と読み込みは、Java のシリアライズとデシリアライズによって実現されます。

  1. シリアライズ可能な
import java.io.Serializable;

public class MyClass implements Serializable {
    // 类的成员和方法
    // ...
}
  1. オブジェクトを作成してファイルにシリアライズします。
// 创建对象
MyClass obj = new MyClass();

// 序列化对象到文件
try {
    FileOutputStream fileOut = new FileOutputStream("object.ser");
    ObjectOutputStream out = new ObjectOutputStream(fileOut);
    out.writeObject(obj);
    out.close();
    fileOut.close();
    System.out.println("对象已存储到文件中");
} catch (IOException e) {
    e.printStackTrace();
}
  1. ファイルを読み込んでデシリアライズする
// 从文件中读取对象
try {
    FileInputStream fileIn = new FileInputStream("object.ser");
    ObjectInputStream in = new ObjectInputStream(fileIn);
    MyClass obj = (MyClass) in.readObject();
    in.close();
    fileIn.close();
    System.out.println("对象已从文件中读取");
} catch (IOException e) {
    e.printStackTrace();
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

上記のコードでは、MyClassオブジェクトはobject.serというファイルにシリアライズされます。その後、ファイルからデシリアライズすることで読み込まれ、オブジェクトは再作成されます。なお、クラスをシリアライズ可能にするためにはSerializableインターフェースを実装し、非シリアライズされるメンバーはtransientでマークする必要があります。

bannerAds