java.util.NoSuchElementException:从文件中读取单词

java.util.NoSuchElementException:从文件中读取单词,java,java.util.scanner,Java,Java.util.scanner,这个简单的java程序有什么问题 我试图从文件中读取单词,但出现以下异常: complication dilemma lavender issue happy weird Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1416)

这个简单的java程序有什么问题

我试图从文件中读取单词,但出现以下异常:

complication
dilemma
lavender
issue
happy
weird
Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at com.recrawl.util.ReadWordsTextfile.readWordsFromTextFile(ReadWordsTextfile.java:32)
    at com.recrawl.util.ReadWordsTextfile.main(ReadWordsTextfile.java:13)
正如你所看到的,我得到了单词,但是,我也得到了一个例外。我正在使用以下代码:

public static void main(String[] args) {
    String path = "Word_and_phrases";
    ReadWordsTextfile r = new ReadWordsTextfile();
    r.readWordsFromTextFile(path);  
}

public ArrayList<String> readWordsFromTextFile(String path) {
    ArrayList<String> resultList = new ArrayList<String>();

    FileInputStream fileIn = null;
    try {
        fileIn = new FileInputStream(path);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    Scanner scan = new Scanner(fileIn);
    while(scan.hasNextLine()) {
        String word = scan.next();
        word = word.replace(",", "");
        System.out.println(word);
        resultList.add(word);
    }
    scan.close();
    System.out.println(resultList.toString());
    return resultList;
}
第32行:

    String word = scan.next();
使用:

而不是:

while(scan.hasNextLine())

hasNext
实现用于
next()
hasNextLine
实现用于
nextLine()

哪一行是第32行?你正在读的文件是什么?你能发布相关的信息吗part@HamzahMalik请看一下我的更新。如果没有更多的字符可以读取,则会发生NoTouchElementException。所以当它到了最后一个字的时候就崩溃了
while(scan.hasNext())
while(scan.hasNextLine())