2012-04-17 10 views
0

私は、BuffedReaderがまだデータを持っている間whileループを持っていますが、whileループはそれぞれの行を読んでから続けます。これは私がまだ進んでいますか?

final BufferedReader in; 
.... 
in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
String line = null 
while ((line = in.readLine()) != null) { 
    line = line.replace(" ", ","); 
    reply.append(line + System.getProperty("line.separator")); 
    Log.d("DeviceActivity", line); 
} 
  • 編集

これが期待されている2つの行を読み取り、それが意味するように、それがループを終了していない持っているものです。

異なる入力でも同じ結果を試しましたが、whileループを終了しません。

これを防止する方法を知っている人はいますか?

また、必ずしも2行である必要はなく、無限であってもかまいません。

+0

「*はそこにあるはずですが、それだけで停止し、それは継続しません」ということは何ですか? – Lion

+0

編集を読む、ありがとう – FabianCook

答えて

0

入力ストリームの準備ができている場合にのみ、これが動作します。

while (in.ready() && (line = in.readLine()) != null) { 
    Log.i("Line", line); 
    publishProgress(line); 
    Thread.sleep(25); 
} 
関連する問題