InputStream的read(byte[] b,int off,int len)方法求助

FileInputStreamin=newFileInputStream(fileName);byte[]buf=newbyte[8*2014];/*从in中读取批量的字... FileInputStream in=new FileInputStream(fileName);byte[] buf=new byte[8*2014];/*从in中读取批量的字节,放入到buf这个字节数组中*从0个位置开始放,最多放buf.length个 *返回的是读到的字节的个数 */int bytes=in.read(buf, 0, buf.length);我读的这个文件只有443字节,小于byte数组长度.

按照read方法返回的说明的话,已经到达文件末尾了,为什么返回的不是-1呢?谢谢大神解答
展开
 我来答
manwu91
2015-06-15 · TA获得超过486个赞
知道小有建树答主
回答量:385
采纳率:71%
帮助的人:285万
展开全部
如果有数据就把数据读取到buf中,并返回读取到的字节数,也就是443,再次调用read方法才返回-1
追问
谢谢!你的意思是  :   第一次读完数据,返回字节数..这时候假如有个指针的东西,它现在指向文件尾,然后现在没有数据了,第二次就返回-1了吗.
务瑛00q
2020-07-21 · TA获得超过1086个赞
知道小有建树答主
回答量:1327
采纳率:94%
帮助的人:5.7万
展开全部
就是两个参数啊,这里off的意思应该是表示从被读取对象的哪个位置开始读取,len就是读取多少长度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式