使用byte数组读取文件的返回值

使用byte数组读取文件的返回值

使用byte数组读取文件的返回值,在数组被填充完的时候返回值是啥?在已经读取到流末尾,数组未被填充完的时候返回值是啥?什么时候返回-1,根据我的理解,是不是等到数组中数据为空的时候返回值是-1?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小明 2021-11-03 11:13:19

同学您好,

  1. 数组被填充完的时候返回值是数组的长度

  2. 数组未被填充完的时候是本次读取操作实际读取到的字节数

  3. 仅当本次读取操作没有读取到任何数据(读取到文件尾)的时候返回值是-1

同学可以将我们的3-3与3-4的知识进行回顾一下

祝同学学习愉快~

  • 提问者 架构师之路 #1

    while((n=fis.read(bytes))!=-1)这个语句中的n不就是返回值么?为什么这个n可以用作字节输出方法write的参数表示输出字节的长度?

    2021-11-03 11:57:22
  • 好帮手慕小明 回复 提问者 架构师之路 #2

    同学您好,

    这里是老师理解错误,并对上述问答进行了修改

    同学代码中的n为本次读取操作实际读取到的字节数。在write(byte[],off,len)方法中,为了防止数据写出量大于实际读取量的情况发生,我们使用n作为第三个参数。

    祝同学学习愉快~
    2021-11-03 14:13:45
  • 提问者 架构师之路 回复 好帮手慕小明 #3

    感谢老师的悉心解答

    2021-11-03 18:54:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师