Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取外部.txt文件时-1如何表示文件结束?_Java - Fatal编程技术网

Java 读取外部.txt文件时-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。如果由于流的结尾已被

在下面的代码中,我们将值与-1进行比较,以检查其是否在文件末尾,为什么在这里使用-1进行比较

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?