0
請幫我看看如何讀取java中的數據流。我的要求是使telnet連接到路由器。這部分完成。從路由器,必須通過telnet使用其IP地址和端口號連接到xxx遠程機器。在建立這種聯繫的同時,我得到了一些迴應。但是在讀取時,程序控制在InputStream類的read()方法處停止。這裏是我用來讀取數據流的代碼片段。如何從數據流讀取數據
buff = new byte[4*1024];
ret_read = 0;
do
{
ret_read = in.read(buff); // Program control gets hanged here. Once all the data are read...
if(ret_read > 0)
{
System.out.println(new String(buff,0,ret_read));
}
}while(ret_read > 0);
它正在等待更多的數據讀取。但流中沒有數據。所以如何從read()方法出來。 –
您可以使用available()在嘗試讀取之前查看是否有任何內容,或者您可以使用非阻塞連接(例如套接字通道):http://docs.oracle.com/javase/6/docs/api/java /nio/channels/SocketChannel.html –
謝謝蒂姆。但InputStream類中的available()方法總是返回零。所以我會嘗試使用read()的非阻塞連接, –