【问题标题】:input.read() func. stack the while loop [closed]input.read() 函数。堆叠while循环[关闭]
【发布时间】:2011-08-17 06:54:13
【问题描述】:

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

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 检查来检查空行但它不起作用。我该如何解决这个问题?

【问题讨论】:

  • uppsss 对不起,我的意思是它被锁定了,(暂停):)

标签: java string sockets inputstream


【解决方案1】:

改变那个:

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

至于:

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

check for EOF

【讨论】:

  • 我试过了,不行,因为它在input.read()中堆积,无法继续...
猜你喜欢
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 2012-12-11
  • 2016-03-25
  • 2014-03-22
  • 1970-01-01
相关资源
最近更新 更多