バイナリファイルからjavaを読み込むプログラムで,
byteフィールドを読み込みbitに分解する事を考えています.

1byte(=8bit)に2bitから成るデータが4つ入っています.
利用しているクラスはDataOutputStreamです.

ストリームからbyteを取り出す所まではOKなのですが,そこから
2bitずつに分解する,或いは特定の2bitを参照する方法を教えてください.

この2bitのデータは,フラグのようなものでそれに続くデータ形(文字or数字etc)を表しています.
ファイルはこんな感じです

[フラグ1][フラグ2][フラグ3][フラグ4][データ1][データ2][データ3][データ4]
.....

フラグnとデータnが対応しています.フラグを四つキューに読み込み,
データを読み込む時にフラグを見ながら解釈するというような事をやりたいのです...

よろしくお願いします.