线路进入,还在继续?

时间:2012-04-17 21:29:46

标签: android

我有一个while循环,当BuffedReader仍然有数据时,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);
}
  • 修改

这将读取预期的两行,然后它不像它的意图那样完成循环。

我已尝试使用不同的输入,但结果相同,它不会退出while循环。

有谁知道如何防止这种情况?

它也不总是两条线,它可能是无限的。

1 个答案:

答案 0 :(得分:0)

此处有效,只有在输入流准备就绪时才会读取该行。

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