java read(byte【】b)方法的到底是什么时候返回-1什么时候返回字节数
byte[]b=newbyte[1024];intn=0;while((n=fis.read(b))!=-1)//到底是每读一个字节就进入到循环体中,,还是一下子读完再进...
byte []b=new byte[1024];
int n=0;
while((n=fis.read(b))!=-1)//到底是每读一个字节就进入到循环体中,,还是一下子读完再进入到循环体中。????那个-1是什么时候读取的???
{
String s=new String(b);
System.out.println(n);
}
System.out.println(n); 展开
int n=0;
while((n=fis.read(b))!=-1)//到底是每读一个字节就进入到循环体中,,还是一下子读完再进入到循环体中。????那个-1是什么时候读取的???
{
String s=new String(b);
System.out.println(n);
}
System.out.println(n); 展开
2个回答
展开全部
那个byte[]b是缓冲区,每次循环读取b大小的字节,如果读取不成功,如数据流已读完,就返回-1
更多追问追答
追问
假如说文件中的字节数小于1024 ,那while的条件((n=fis.read(b))!=-1)第一次就为false,也就不会进入循环体?可是它确实是打印出来文件中的数据?求大哥解答???
追答
小于1024它也读出来,第一次循环的是返回值不是-1的,是第二次循环的时候返回-1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fis是啥?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询