2011-08-17 80 views
1

連接到服務器後,我在服務器上運行一些命令,然後嘗試將服務器知識用於控制檯;input.read()func。堆棧while循環

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(); 
} 

,但如果我運行這個循環不止一個,如果(它嘗試讀取)行是空的,則它堆積,不要讓程序stop.I試圖通過檢查字符串檢查空行或-1檢查,但它不起作用。我怎麼解決這個問題?

+3

「it stacks」是什麼意思? –

+1

uppsss對不起,我的意思是它鎖定,(暫停):) –

回答

1

變化是:

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

要的是:

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

check for EOF

+1

我試過了,它不工作,因爲它在input.read()中堆棧並且無法繼續... –