如何从datastream中读取数据

时间:2013-12-17 09:44:15

标签: java inputstream datainputstream data-stream

请帮我解决如何在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);

1 个答案:

答案 0 :(得分:1)

正在发生的事情是读取阻塞并等待在流上发送更多数据,它将继续执行此操作,直到流关闭或发送更多数据。

您需要使用非阻塞读取,在读取时设置超时,或在完成发送数据后关闭流服务器端。