Java 输入流中的read(byte[] b)方法详解
我就废话不多说了,大家还是直接看代码吧~从一个输入流中读取一定数量的字节,并将这些字节存储到其缓冲作用的数组b中。这个函数是一个比如下面的列子:在这种情况下,当从客户端接收了一条信息并转成msg字符串后,while循环会又回到read()函数,不会跳出循环执行语句一和二。因为这时read()函数并没有遇到文件尾或者抛出异常,所以下一次while条件判断read()函数会一直等待有效数据的输入,而不是返回-1。此时整个程序将会阻塞在这里。如果用这种方式读取控制台的输入的话,我们可以选择不要while循环。或者设置条件跳出循环,即如果len小于box的长度话就跳出循环。还有就是我们可以采用监听机制,当监听到输入流中有数据之后再读取。
下载地址
用户评论