【发布时间】:2011-05-13 01:36:47
【问题描述】:
在我的程序中使用多个 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 中读取的。
【问题讨论】:
标签: java inputstream java.util.scanner