io复制文件的时候为什么判断是不是到文件末尾都用temp = r.read(buf)) != -1 来判断啊

job920 2015-07-13 08:24:41
byte[] buf = new byte[1024];
int len = 0;
while((len = i.read(buf)) != -1) {
System.out.println(new String(buf,0,len));
}

char[] buf = new char[1024];
int temp = 0;
while((temp = r.read(buf)) != -1) {
System.out.print(new String(buf,0,temp));
}

为啥 判断是不是到文件结尾判断是否等于-1啊
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsdf2008 2015-07-13
  • 打赏
  • 举报
回复
-1是文件结束的标志符号
潘少博 2015-07-13
  • 打赏
  • 举报
回复
读不出来,读到结尾
风舞叶扬 2015-07-13
  • 打赏
  • 举报
回复
-1就是读完了啊 EOF
scmod 2015-07-13
  • 打赏
  • 举报
回复
-1不就代表文件末尾了吗?差不多这个意思... api上有写的
sg19911227 2015-07-13
  • 打赏
  • 举报
回复
返回的temp是当前文件所读到的位置,当temp=-1时,表示文件读取到末尾这是Sun的规定!!!
job920 2015-07-13
  • 打赏
  • 举报
回复
-1 表明到文件末尾了 API这样定义的啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧