Java中的数组列表和文本文件读取
主要内容:Java中的数组列表和文本文件读取,java,arraylist,constructor,text-files,Java,Arraylist,Constructor,Text Files,主要内容: 我对Java编程还是很陌生,这一点我很难理解。您得到了这一点,因为文件中可能缺少字段、空格或换行符。 因此,当您执行fileIn.next*()时,它会抛出一个NoTouchElementException 相反,你可以这样做 Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.n
我对Java编程还是很陌生,这一点我很难理解。您得到了这一点,因为文件中可能缺少字段、空格或换行符。 因此,当您执行fileIn.next*()时,它会抛出一个NoTouchElementException 相反,你可以这样做
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at ayers_hwk3.Ayers_Hwk3.main(Ayers_Hwk3.java:29)
如果此操作引发ArrayIndexOutOfBounds异常,则打印单词并找出错误在文件中的确切位置。当扫描仪尝试解析输入时,问题发生在运行时。字段不足,或者由于扫描器默认情况下在空白处中断,在数字字段出现之前,可能有两个以上的空格分隔字。
public static void main(String[] args) throws IOException {
Scanner fileIn = new Scanner (new File("students.txt"));
ArrayList <Student> list = new ArrayList<>();
while (fileIn.hasNextLine()) {
list.add(new Student(fileIn.next(), fileIn.next(), fileIn.nextDouble(), fileIn.nextDouble(), fileIn.nextDouble()));
}
fileIn.close();
System.out.println(list.toString());
}
}
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1371)
at ayers_hwk3.Ayers_Hwk3.main(Ayers_Hwk3.java:29)
while (fileIn.hasNextLine()) {
String line = fileIn.nextLine();
String[] words = line.split(' ')
list.add(new Student(words[0], words[1], words[2], words[3], words[4]);
}