基本上我有一個從.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) –