あるオブジェクトの全フィールドを、バイナリ形式でファイルに出力したり、
逆にそのファイルのデータをオブジェクトのフィールドに設定したりする場合の
楽な方法を探しています

C言語だと、fread()やfwrite()を使って、構造体をバイナリファイルに書き出したり、
メモリに読み戻したりできますよね
それを使って、アプリの設定オプションを構造体に入れておきそれをfwrite()して保存する、
次回起動時には逆にfread()で読み込んで復元する、みたいなケースがよくあると思います
それと同様なことを、Javaで行いたく思ってます

今は、バイナリファイルをバイト単位で読み出しては、オプションを保持するオブジェクトの
フィールドにいちいち設定していく作りになっているのですが、正直実装が冗長であり、
分かりづらいので、改善したく思ってます

どのような方法がありますでしょうか