DataInputStreamとBufferedReaderの共存についての質問です。

HTTPのクライアントを書いていて、
以下のようにテキスト入力用のBufferedReaderと、
画像等のデータを入力するためのDataInputStreamを同時に使いたいと考えています。

InputStream is = sock.getInputStream();
DataInputStream DataIn = new DataInputStream(is);
BufferedReader TextIn = new BufferedReader(new InputStreamReader(is,1);

ヘッダをBuffuredReader#readLine()で""(ヘッダ終わり)が出るまで読み込んだ
後に、DataInputStreamでデータを読んでも、0バイトしか読み込めませんでした。
(バッファに先読みされた?)

BufferedReaderをまったく使わずにDataInputStream#readLine()を使えば一応
問題ないのですが、こちらのメソッドは非推奨らしいので出来れば使いたくありません。

この二つをうまく共生させる方法はありませんか?よろしくお願いします。