シリアライズとは
直列化。Javaオブジェクトをバイト配列として出力すること。シリアライズすることによってファイルに書き出せるようになります。
Serializable
インタフェース
Serializable
インタフェースを実装したクラスはシリアライズ可能になります。
オブジェクトをファイルに書き出す
import java.io.Serializable;
public class Person implements Serializable {
private String greeting = "hello";
Person(String greeting) {
this.greeting = greeting;
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class SerializeSample {
public static void main(String[] args) {
var person = new Person("hello");
try {
var objectOutputStream = new ObjectOutputStream(new FileOutputStream("person.txt"));
objectOutputStream.writeObject(person);
objectOutputStream.flush();
objectOutputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}