我目前正在为我的班级开发一个项目,我必须在其中对数组进行排序,该数组是文本文件中的数字。我创建了一个阅读器,看看我在.txt文件中有多少值,所以我可以定义我的数组大小,但我的while()语句似乎被打破了,并且在使用.hasNextLine时进入一个永无止境的循环。这是我的代码:
File unsorted = new File("unsorted.txt");
int j = 0;//Counter for the amount of slots in the array
System.out.println("Executing file reading...");
try
{
Scanner input = new Scanner(unsorted);
while(input.hasNextLine()){
j++;//Scanner to count the length of the array
System.out.println(j);
}
input.close();
System.out.println("The file has " + j + " lines.");
}
catch (IOException ex){
System.out.printf("ERROR: Could not read file 'unsorted.txt'", ex);
}
System.out.println("File read.");
my {}之后我的打印行没有打印,相反,当我在while()循环中有J打印时,它会永远继续。该文件目前有7个值,所有数字。
答案 0 :(得分:1)
当您致电nextLine()
时,hasNextLine()
方法的值只会更改 - 只有更改的机会。 nextLine()
方法为您提供了该行的内容,并使扫描仪前进了一行。