在我的程序中,如何正确地使用多个Scanner对象?
例如,我使用scanner读取文件,然后根据文件中找到的内容,提示用户输入并再次使用scanner。
这是我的代码摘录:
Scanner f = new Scanner (System.in); // Get the file name
String fileName = f.next();
Scanner input = new Scanner(new File(fileName));
while (input.hasNext()) {
String currentLine = input.nextLine();
if (some pattern found) {
Scanner getUserInput = new Scanner (System.in);
String userInput = getUserInput.next();
...
}
}
...
它似乎不起作用,我做错了什么?
我需要使用userInput.close()
吗?
我不明白的是,第一个System.in
只是获取文件名。之后,为什么会干扰第二个System.in
?
至于input
对象,它正在从文件中读取,而不是从System.in
读取。