基本上我有一个从.txt文件读取多行的任务。 每行文本文件中有4个值,每个值由2个空格分隔。 该文件中有大约10行数据。从BufferedReader中读取文件
从文件中获取输入后,程序将其放到数据库中。数据库连接功能正常工作。
我现在的问题是使用BufferedReader从文件中读取数据。 问题是,如果我取消注释底部3行中的任意一行,则BufferedReader会读取其他所有行。如果我不使用它们,那么下一个输入是String类型就有一个异常。 我已经打算使用带有.hasNextLine()方法的扫描仪。
有什么想法可能是问题以及如何解决它? 谢谢。
File file = new File(FILE_INPUT_NAME);
FileReader fr = new FileReader(file);
BufferedReader readFile = new BufferedReader(fr);
String line = null;
while ((line = readFile.readLine()) != null) {
String[] split = line.split(" ", 4);
String id = split[0];
nameFromFile = split[1];
String year = split[2];
String mark = split[3];
idFromFile = Integer.parseInt(id);
yearOfStudyFromFile = Integer.parseInt(year);
markFromFile = Integer.parseInt(mark);
//line = readFile.readLine();
//readFile.readLine();
//System.out.println(readFile.readLine());
}
编辑:.txt文件的格式有错误。一个缺失的价值。 但现在我得到一个ArrayOutOfBoundsException。
编辑编辑:.txt文件中的另一个错误!原来有一个单一的空间,而不是一个双。它现在似乎在工作。但是,有关如何处理将来像这样的文件错误的任何建议?
在你的while循环中,你正在读取一行到-a时间的变量'line',然后被分割为'id ''''name'File','year'和'mark' - 为什么你要在循环中进一步读取'line' - 这是重复的 –
请提供更多关于你发布代码的方法的细节。它抛出一个'IOException'吗?你从.txt文件读取什么样的数据?他们每行有4个令牌(字符串或数字)吗? 3条注释掉的行最有可能应该保留注释。 :-) – PNS
该文件包含以下信息:id(Student's ID),名称,学习年份和标记(满分为100) –