C言語で下記の様な構造体のデータがあって、このデータをバイナリで書き出しているファイルがあります。

typedef struct {
unsigned char a;
unsigned char b;
unsigned char c;
} A;

typedef struct {
unsigned char d;
unsigned char e;
A a[10];
unsigned char f;
} B;

typedef struct {
B b[10];
unsigned char aa[10];
struct {
unsigned char ab;
unsigned char ac;
unsigned short ad;
} dat[10];
unsigned short sum;
} C;

Javaでこのデータを読み込んで同じデータとして使用したいのですが構造体が無い為、どう実装していいかわかりません。
単純な構造であればシリアライズとデシリアライズで行けるのかと思ったのですが、上記の様な構造体だと
クラスの配列になるのでうまくいかないですよね?

どうすればいいでしょうか?