Java:字节流中的While循环
有人能解释为什么循环检查条件是否不同于-1吗Java:字节流中的While循环,java,file-io,while-loop,Java,File Io,While Loop,有人能解释为什么循环检查条件是否不同于-1吗 while ((c = in.read()) != -1) { out.write(c); } 见此: 当没有更多的字节可读取时,read方法返回条件部分中的-1循环(Java requireboolean子句) c=in.read()。因此,您需要将其与某个值进行比较(在您的示例中,-1表示不再读取字节),该值生成布尔值作为停止条件 while ((c = in.read()) != -1) 当到达流的末尾时,read方法返回-1。该条
while ((c = in.read()) != -1) {
out.write(c);
}
见此:
当没有更多的字节可读取时,read方法返回条件部分中的-1循环(Java require
boolean
子句)
c=in.read()。因此,您需要将其与某个值进行比较(在您的示例中,-1
表示不再读取字节),该值生成布尔值作为停止条件
while ((c = in.read()) != -1)
当到达流的末尾时,read
方法返回-1。该条件将read
的返回值分配给c,并检查c
是否为-1。如果为-1,则到达流结束,否则不到达。因为当到达流结束时,c
将为-1。阅读InputStream的文档。阅读。(尽管如此,这是一种将InputStream复制到OutputStream的低效方法…)无论如何,为了回答这个问题,-1表示EOF(文件结束),我们描述了这种方法