我想知道是否有人可以帮助解决我的程序中的 NoSuchElements 异常,该程序扫描非常大的文本,然后将其添加到 ArrayList 中。
我尝试重新排列代码的顺序,看看是否可以修复它,但现在我不知道如何修复它。
<小时/>异常本身:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at mainTest.main(mainTest.java:11)
<小时/>
主测试类:
import java.io.*;
import java.util.*;
public class mainTest {
public static void main(String args[]) throws FileNotFoundException {
ArrayList<String> bigBoi = new ArrayList<>(500000);
Scanner scan1 = new Scanner(new File("LargeDataSet.txt"));
while (scan1.hasNextLine()) {
scan1.next();
String data = scan1.next() + " " + scan1.next();
bigBoi.add(data);
}
ArrayList<String> successful = new ArrayList<>(500000);
}
}
<小时/>
.txt 文件的单位: https://drive.google.com/file/d/1MWfMKMhSvuopOt9WwquABgYBTt0M4eLA/view?usp=sharing
(抱歉需要您从谷歌驱动器下载它,该文件太长了,如果我粘贴了 500,000 行,我可能会被报告或其他什么)
最佳答案
请使用scan1.hasNext()
而不是scan1.hasNextLine()
进行检查:
while (scan1.hasNext()) {
scan1.next();
String data = scan1.next() + " " + scan1.next();
bigBoi.add(data);
}
关于java - 如何修复输入文件中的 NoSuchElementException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59572917/