Java 读取外部.txt文件时-1如何表示文件结束?
在下面的代码中,我们将值与-1进行比较,以检查其是否在文件末尾,为什么在这里使用-1进行比较Java 读取外部.txt文件时-1如何表示文件结束?,java,Java,在下面的代码中,我们将值与-1进行比较,以检查其是否在文件末尾,为什么在这里使用-1进行比较 while((i=fin.read())!=-1) { System.out.println((char)i); } 引用Javadoc的read()方法 返回: 读取的字符数,如果已到达流的结尾,则为-1 这就是为什么Inputstream的 公共摘要int read() 抛出IOException从输入流读取数据的下一个字节。值字节作为范围为0的整数返回 到255。如果由于流的结尾已被
while((i=fin.read())!=-1)
{
System.out.println((char)i);
}
引用Javadoc的
read()
方法
返回:
读取的字符数,如果已到达流的结尾,则为-1
这就是为什么Inputstream的
公共摘要int read()
抛出IOException从输入流读取数据的下一个字节。值字节作为范围为0的整数返回
到255。如果由于流的结尾已被删除而没有可用字节
到达时,返回值-1。此方法在输入数据之前一直阻塞
是可用的,检测到流的结尾,或者检测到异常
扔。子类必须提供此方法的实现。
返回:数据的下一个字节,如果流的结尾为-1,则返回-1
达到。抛出:
-1表示已到达流的末尾
因此,在您的情况下,
(i=fin.read())=-1
您可以继续从流中读取数据,一旦到达流的末尾,即不再有数据剩余,read
方法将返回您-1
,您可以退出循环您是否阅读了此方法的javadocs?