Java オブジェクトをそのままバイナリファイルに格納する




オブジェクトをファイルに吐き出す

Javaのオブジェクトは簡単にファイルへ出力することができます。
ただし、出力したい対象のクラスには、java.io.Serializableインタフェースを実装する必要があります。
とはいえ、implementsするだけで、とくにメソッドの実装等は必要ありません。

サンプル

それではサンプルです。
オブジェクトをファイルに出力。その後、ファイルから取り込んで、オブジェクトに戻します。

実行結果

サンプルの解説

オブジェクトは、java.io.Serializableインタフェースを実装しているため、オブジェクトの直列化(シリアライズ)が可能です。
直列化とは、ざっくり言うと、そのオブジェクトが「01010111000・・・」のビットで表現できる状態にすることです。
このビット表現をObjectOutputStreamにより、ファイルへ書き込み。ObjectInputStreamにより、ファイルから読み込みを行っています。
なお、ObjectOutputStreamは、複数のオブジェクトをまとめて書き込みすることが可能です。