JAVAutil。扫描器为什么Java扫描器抛出NoTouchElementException,除非我通过路径而不是文件声明扫描器?
最初,我声明我的扫描仪为
Scanner in = new Scanner(new File(filename));
我让它读取了一个大约3000行的CSV文件,当它到达第362行时,它给了我一个“没有这样的元素”错误。在我将声明更改为
Scanner in = new Scanner(Paths.get(filename));
但这为什么会有不同呢
以下是我的CSV文件的第360-362行(在第362行读取31
后出现“无此类元素”错误):
4,"T Sanchez, A Polyakov, JP Richard, D Efimov",1,29,0,0,0
3,"T Sánchez, JA Moreno, JA Peralta",4,30,0,0,0
3,"FAO Ricardez, T Sánchez, JA Moreno",5,31,0,0,0
这是我的代码:
String filename = "before.csv";
Scanner in = new Scanner(new File(filename)); // changed to Paths.get(filename)
PrintStream out = new PrintStream(new File("after.csv"));
out.println(in.nextLine());
String DELIMITER = ",";
in.useDelimiter(DELIMITER);
while(in.hasNext()) {
int author_count = in.nextInt();
out.print(author_count + ",");
for(int i = 0; i < author_count; i++) {
String cur_author = in.next();
...
}
out.print("<bitmask>" + ",");
for(int i = 0; i < 4; i++) {
int a = in.nextInt(); // where the error occurred
out.print(a + ",");
}
out.println(in.nextLine().replace(",", ""));
}
in.close();
out.close();
谢谢!
共 (0) 个答案