Java 从文件读取时尝试使用.hasNext()时的无限循环(?)
我试图让Java使用Java 从文件读取时尝试使用.hasNext()时的无限循环(?),java,file-io,while-loop,Java,File Io,While Loop,我试图让Java使用hasNext(),hasNextLine(),以及while循环来计算文本文件中的行数,尽管我似乎遇到了一些问题。该程序将持续运行,我相信它被困在一个无限循环中。如果有人能解释这个问题并给我一个可能的解决方案,我将不胜感激 以下是程序读取的文件(hurcata2.txt,保存在程序目录中): 这是我的代码: import java.util.Scanner; import java.io.*; public class HurricaneData { pub
hasNext()
,hasNextLine()
,以及while循环来计算文本文件中的行数,尽管我似乎遇到了一些问题。该程序将持续运行,我相信它被困在一个无限循环中。如果有人能解释这个问题并给我一个可能的解决方案,我将不胜感激
以下是程序读取的文件(hurcata2.txt,保存在程序目录中):
这是我的代码:
import java.util.Scanner;
import java.io.*;
public class HurricaneData
{
public static void main(String[] args) throws IOException
{
File hurricaneData = new File("TestText.txt");
Scanner inFileHD = new Scanner(hurricaneData);
int n = 0; //represents number of blocks of data
while( inFileHD.hasNextLine() )
{
n++;
}
System.out.println(n + " block of data");
inFileHD.close();
}
}
您需要使用扫描仪的输入,否则
inFileHD.hasNextLine()
将始终为true
while (inFileHD.hasNextLine()) {
inFileHD.nextLine(); // add this
...
}
谢谢你的快速解释。我以为它会自动消耗数据。哎呀。
while (inFileHD.hasNextLine()) {
inFileHD.nextLine(); // add this
...
}