Cで作られたソースをJavaに移植しようとしてます

対象は、ファイルのヘッダ情報を読み込む処理なのですが、Cでは以下のような感じで
fread()により構造体に読み込んでます
struct HEADTAG {
 unsigned char a[4];
 unsigned int b;
};
のようにヘッダ情報に揃った構造体を作り、
struct HEAD_TAG head;
fread(head, sizeof(HEADTAG), 1, fp);
のようにしてヘッダ情報を読み込んでます

その処理をJavaに書き直しており、今はヘッダ情報を1バイトずつ読んでいくメソッドを
作ったのですが、処理したいファイルは複数種類あり、そのたびにメソッドを
バイト数とか数えながらいちいち対応させるのが大変なので、改善したいです

readObjectを使ってみたのですが、fwrite()されたものをJavaのクラスにはめこむのは
無理そうです

改善できる手法はありますか?
教えてください