我有以下代码和一个包含所有数字的输入文件,因此 txt 文件中的每一行只有一个数字。我将每行上的每个数字打印到标准输出上,如果遇到数字 42,我将停止打印。但问题是我用来读取文件的扫描仪对象未显示第一个数字,而仅从第二个数字打印我的 txt 文件的编号。我认为这与我不知道的scanner.nextline 函数有关,但我希望scanner 有一个getcurrent 或类似的东西以使事情变得更简单。无论如何,谁能告诉我如何解决这个问题并让第一行显示出来。
这是我的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class driver {
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
File theFile = new File("filepath.../input.txt");
Scanner theScanner = new Scanner(theFile);
//so that the scanner always starts from the first line of the document.
theScanner.reset();
while(theScanner.hasNext())
{
if(theScanner.nextInt() == 42)
{
break;
}
System.out.println(theScanner.nextInt());
}
}
}