
InputStream 中 read() 和 readNBytes() 的区别
InputStream 中的 read() 和 readNBytes() 方法用于从流中读取字节。它们之间的主要区别在于读取字节的数量和处理文件末尾时返回的值。
read()
读取最多 len 个字节或到达流的末尾。返回实际读取的字节数,或者在到达流的末尾时返回 -1。
readNBytes()
小艺
华为公司推出的AI智能助手
549 查看详情
尽可能读取 len 个字节,直到达到流的末尾。返回实际读取的字节数,即使到达流的末尾,返回的字节数也可能少于 len。
因此,read() 可能会读取少于 len 个字节,而 readNBytes() 始终会尝试读取 len 个字节。
除了文本末尾再调用时,read() 返回值为 -1,readNBytes() 返回值为 0 外,readNBytes() 在读取字节方面更加激进,因为它会尝试尽可能多地读取字节。
以上就是InputStream 中 read() 和 readNBytes() 的区别:它们如何处理文件末尾和读取字节数?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/797877.html
微信扫一扫
支付宝扫一扫