我在Java中使用Scanner
来读取一长串的字符串56489个字符串。每个单词都存储在新行中。
我做了一个名为Scanner
的{{1}}并写了以下内容:
in
所以我可以将结果限制为前private static TreeSet<String> makeListOfTags()
{
int threshhold = 2823;
Scanner in = null;
try {
in = new Scanner(new File("/Users/me/GIT/website-summer2018/recommender-system/src/main/resources/Keywords_copy.csv"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TreeSet<String> originalSet = new TreeSet<>();
for(long i = 0; i < threshhold; i++) {
String str = in.nextLine();
int comma1 = str.indexOf(',');
int comma2 = str.lastIndexOf(',');
if(comma1 < comma2) {
str = str.substring(comma1 +1, comma2);
originalSet.add(str);
}
}
return originalSet;
}
个单词。当我将threshold
设置为高于2823时,会收到以下错误代码:
threshhold
但是下一行和后几千行都有一个值。 以下是这几行字符串:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at Tester.makeListOfTags(Tester.java:103)
at Tester.scannT(Tester.java:118)
at Tester.main(Tester.java:23)
我在做什么错?为什么会出现此错误?