ストリーミングコンテンツをバッファリングするファイルを使用して表示しています(RAMに保持するのに十分な大きさである可能性があるため)。2つのスレッドがあります。1つはサーバーからファイルをダウンロードしてローカルストレージに書き込み、もう1つはそのファイルを読み取ってコンテンツを表示します。
問題は、2番目のスレッドがファイルの終わりに達すると、メソッドEOFException
からスローされることです。DataInputStream.readFully()
例外をスローする代わりに、最初のスレッドが十分なデータを書き込んでいる間、待機させる方法はありますか?