我正在尝试在 Java 中读取这样的文本文件(请参见下面的代码)。
读取文本文件时的预期行为是:
- 找到
lesson
时,将 INF999, Java, 30 添加到 Lesson 对象 - 当它找到
student
时,它将 XXX name first 50 4 添加到 Student 对象 - 找到
registration
后,将 XXX 和 INF999 添加到 Registration 对象
这是代码:
// test.txt
[lesson] INF999 Java 30
[student] XXX name first 50 4
[registration] XXX INF999
// readFile method
public void readFile(String path) {
try {
FileInputStream fstream = new FileInputStream(path);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String ligne;
while ((ligne = br.readLine()) != null) {
String[] words = ligne.split(" ");
if (words[0].equals("[lesson]")) {
String acronym = words[1];
String name = words[2];
int nbMaxStudents = Integer.parseInt(words[3]);
addLesson(new Lesson(acronym, name, nbMaxStudents));
} else if (words[0].equals("[student]")) {
// same thing
} else if (words[0].equals("[registration]")) {
// same thing
} else { throw new Exception(); }
}
br.close();
} catch (Exception e) { System.out.println("error"); }
}
在我的main
方法中,我把这个:
Programme programme = new Programme(numProgramme);
programme.readFile("test.txt");
我不知道为什么,但是这个执行总是会导致错误。请你帮助我好吗?