{{item.label}}

输入流当中的read方法和readfully方法的区别与原理?

189****9273
源代码的实质
提问时间:2022-06-18 13:20:26
提示:以下回答均以本问题为中心,仅供参考;如需更多帮助,请咨询早鸽顾问。 去咨询
回答 | 共1个
刘玉梅
刘玉梅
从业10年
天猫入驻整店装修活动运营
所在地区:成都市
咨询解答:598
咨询TA

  

1、其实read(byte[] b)方法和readFully(byte []b)都是利用InputStream中read()方法,每次读取的也是一个字节,只是读取字节数组的方式不同,查询jdk中源代码发现。  

2、read(byte[] b)方法实质是读取流上的字节直到流上没有字节为止,如果当声明的字节数组长度大于流上的数据长度时就提前返回,而readFully(byte[] b)方法是读取流上指定长度的字节数组,也就是说如果声明了长度为len的字节数组,readFully(byte[] b)方法只有读取len长度个字节的时候才返回,否则阻塞等待,如果超时,则会抛出异常 EOFException。  

3、那么当发送了长度为len的字节,那么为什么用read方法用户收不全呢,揪其原因发现消息在网络中传输是没那么理想的,发的那部分字节数组在传送过程中可能在接受信息方的缓存当中或者在传输线路,极端情况下可能在发送方的缓存当中,这样就不在流上,所以read方法提前返回了,这样就造成了各种错误。

2022-06-18 16:07:27
没有符合您的答案?立即联系 “在线顾问"
顾问推荐
{{item.label}}
{{item.desc}}
相关资讯 换一批
软件升级带来的变化是什么
随着科技的快速发展,软件升级成为了企业持续发展的重要环节。通过软件升级,企业可以优化用户体验、提高系统性能、增加新功能、修复安全漏洞,从而保持市场竞争力。
软件升级
536次浏览
2023-12-28 18:27:41
软件升级带来的变化是什么
别人的专利怎么使用
发明专利可以申请专利权,申请人获得专利权之后,就可以有效实施专利;没有专利权的人,可以通过其他方式获得专利权,不过很多人不太清楚这点,那么如何使用别人的专利呢?下面是早鸽网顾问准备的相关内容,希望对你有所帮助
专利使用
502次浏览
2023-01-10 18:45:50
别人的专利怎么使用
香港的税种有哪些
香港是一个国际化程度极高的城市,其税收制度也是完善且高度智能化的。香港政府采用公平、简明和透明的原则制定税务政策,致力保持竞争力,促进经济发展,兼顾社会公正和纳税人权益。
税种种类
182次浏览
2023-05-06 13:46:45
香港的税种有哪些
版权转让的流程是什么
版权转让是版权所有者将其所拥有的版权权利转让给别人的一种法律行为。这种转让可以是全部权利的转让,也可以是部分权利的转让。版权转让是一种复杂的法律关系,涉及到版权所有者、受让方、转让内容等多方面因素。在进行版权转让时,需要遵循一定的流程和程序,以确保转让的合法性和有效性。
版权转让
904次浏览
2023-10-23 09:37:34
版权转让的流程是什么
专利文献具体哪些作用
专利文献是指已经申请研究、设计、开发和测试结果的材料,其被确定为发现、发明、实用新型和工业产品设计
专利文献
814次浏览
2022-05-21 16:57:05
专利文献具体哪些作用
周金红
周金红顾问
擅长:外观专利申请,著作权撤销,著作权变更
执业9年
咨询专业顾问
最新问答
2023-06-19 06:34:24
北京海丰益商贸中心基本介绍?
北京海丰益商贸中心基本介绍?
2023-06-19 06:33:56
北京佳兴源装饰有限公司第一分公司公司大概情况
北京佳兴源装饰有限公司第一分公司公司大概情况
2023-06-19 06:33:29
北京君燕环保设备有限公司是多久时候成立的?
北京君燕环保设备有限公司是多久时候成立的?
2023-06-19 06:32:19
北京市华盛业石材经营部是多久时候成立的?
北京市华盛业石材经营部是多久时候成立的?
2023-06-19 06:31:54
北京市四季永芳石材经营部基本介绍?
北京市四季永芳石材经营部基本介绍?