public int read()方法返回的是数据的个数,还是数据的内容?

public int read()方法返回的是数据的个数,还是数据的内容?

public int read()方法返回的是数据的个数,还是数据的内容?

正在回答

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

3回答

同学你好,1、public int read()-->从此输入流中读取一个数据字节。

        返回值是下一个数据字节;如果已到达文件末尾,则返回 -1。

         2、public int read(byte[] b)-->从此输入流中将最多是 b.length(数组长度) 个字节的数据读入一个 byte 数组中。

        b - 存储读取数据的缓冲区。 

         返回值--》读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。 

这两个方法的返回值所代表的含义是不同的。 所以n=fis.read(b)此时的返回值n是读入缓冲区的字节总数!

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 星星和猫看月亮 2019-12-08 17:33:28
好帮手慕小班 2019-12-08 17:19:38

同学你好,对于FileInputStream 是以字节流方式读取,read ()方法表示读取一个字节,返回的读取到的单个字节文件内容。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 星星和猫看月亮 #1
    但是while((n=fis.read(b)!=-1){ fos.write(b,0,n); }里的n应该怎么理解,帮忙解释下。
    2019-12-08 17:35:04
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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