在Java中的io流中,read读取文件时,读取完了没有了返回-1,(为什么不是0啊?没有了就是0啊?)

 我来答
百度网友35ae070
推荐于2018-05-15 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:161
采纳率:33%
帮助的人:68.5万
展开全部
返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值
百度网友e90f023
2014-03-09
知道答主
回答量:10
采纳率:0%
帮助的人:1.2万
展开全部
java就是这么定义的,如果非要问为什么的话,请看java源代码(ctrl+左键放到read上,就会跟进到源代码,不过事先得先关联源代码,一般的话,eclipse都已经关联好)。望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-09
展开全部
你说的是java IO读取文件复制问题?我也不知道你说的神马,我这有个例子希望能帮助你。。
public class Copy{
public static void main(String arg[]){
FileInputStream fis=new FileInputStream("ss.flv")//假定这是一个视频文件
byte[]buf=new byte[1024];
int i=-1;
while(i=fis.read(buf)!=-1){
fis.read();

}
System.out.priontln("文件复制完毕");
fis.close();
}

}
追问
如果那个-1改为0,还是一样的吗?
追答
恩恩,一样的-1代表文件已经读到末尾读完啦,个跟你写的那个 int=-1没关系的
但是在while循环中的 -1 是代表文件末尾这个不能变
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式