input.read()函数。堆叠while循环

时间:2011-08-17 06:54:13

标签: java string sockets inputstream

连接到服务器后,我在服务器上运行一些命令,然后尝试将服务器知识带到控制台;

int i = 0;
byte[] bx = new byte[1];
try {
    while ((i = input.read()) != 10 ) {
        bx[0] = (byte) i;
        System.out.print(new String(bx));
    }
} catch (IOException e1) {
    e1.printStackTrace();
}

但是如果我运行这个循环多于一个并且如果该行(它试图读取)为空它会堆叠并且不让程序停止。我试图通过字符串检查或-1检查空行但它不起作用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

改变:

while ((i = input.read()) != 10 )

对此:

while (((i = input.read()) != 10 ) && (i != -1) )

check for EOF