我只是想知道是否可以读取.txt文件,直到找到某个单词或读取一定数量的行。我正在使用Java Scanner,这就是我尝试过的。
reader = new Scanner(new File(path));
find = (String) wupList.getSelectedItem();
reader.useDelimiter(find);
while(reader.hasNext()){
website = reader.next();
username = reader.next();
password = reader.next();
}
这只是一个小程序,我正在制作阅读.txt文件的手,它甚至不会被使用所以我不会加密密码或任何东西。
答案 0 :(得分:1)
首先 - 在某些时候将while
循环修改为break
。所以,一旦你完成了所有值break
的阅读,就说了。像
while(reader.hasNext()){
website = reader.next();
username = reader.next();
password = reader.next();
break;
}
//similarly, you can modify the above code
//if you can read all the inputs in one line
while (reader.hasNextLine()) {
String[] lineArray = reader.nextLine().split("specifyDelimeterHere");
website = lineArray[0];
username = lineArray[1];
password = lineArray[2];
break;
}
现在,为什么 NoSuchElementException
。
老实说,这是猜测。你最有可能得到它,因为你没有突破扫描仪实例的while
和/或closing
。这里的循环期待更多输入,但资源正在关闭。使用close()
类中定义的Scanner
在reader
循环后关闭while
。
如果这有帮助,请在评论中告诉我。