读取.text文件,直到找到某个单词或读取一定数量的行

时间:2014-10-05 04:28:43

标签: java java.util.scanner

我只是想知道是否可以读取.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文件的手,它甚至不会被使用所以我不会加密密码或任何东西。

1 个答案:

答案 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()类中定义的Scannerreader循环后关闭while

如果这有帮助,请在评论中告诉我。