我正在尝试从一个名为"Marks.txt"的.txt文件中读取文本(我在此处附加了该文件-> Marks.txt),其中包含学生数据, 像这样,前 2 行是数据的标题或只是标签
如上所述,前两行只是标题或标签,我试图跳过或忽略这些行,因为我只需要从.txt文件中的实际 int 和 float 数据创建对象。这是我在学生班中的loadFrom方法:
public static Student loadFrom2(BufferedReader aFile) throws IOException {
Student newStudent = new Student();
StringTokenizer st = new StringTokenizer(aFile.readLine());
newStudent.ID = Integer.parseInt(st.nextToken());
newStudent.a1 = Float.parseFloat(st.nextToken());
newStudent.a2= Float.parseFloat(st.nextToken());
newStudent.a3 = Float.parseFloat(st.nextToken());
newStudent.a4 = Float.parseFloat(st.nextToken());
newStudent.midterm = Float.parseFloat(st.nextToken());
newStudent.finalExam = Float.parseFloat(st.nextToken());
return (newStudent);
}
这是我读取数据的测试文件:
private static void readTest2() throws IOException {
BufferedReader file1;
Student student1;
String line;
file1 = new BufferedReader(new FileReader("C:\Marks.txt"));
student1 = Student.loadFrom2(file1);
System.out.println(student1);
}
public static void main(String[] args) throws IOException {
readTest2();
}
我获取了 Marks.txt 文件并删除了前两行(标题或列标签),并且能够在我的 loadFrom2 方法中正确使用 BufferedReader 和 StringTokenizer 来读取 readTest2 文件中的.txt文件。
你们中的任何一个人可以告诉我如何跳过前 2 行吗?我应该从 Marks.txt 中读取,并在 loadFrom2 方法中为 Marks.txt 文件中的每一行数据创建一个 Student 对象。然后我应该有另一个叫做CourseSection的类,它有一个来自前一个类的对象数组列表。
如果我需要澄清任何事情,请告诉我。如果您想查看,以下是完整的类文件:
学生.java班
课程部分.java类
学生保存负载测试 *测试读取 Marks.txt 文件
您可以使用BufferedReader.readLine()
来使用一行输入,并且不要对其进行任何操作。
也许将您的代码更改为如下所示:
public static Student loadFrom2(String studentLine) throws IOException {
Student newStudent = new Student();
StringTokenizer st = new StringTokenizer(studentLine);
newStudent.ID = Integer.parseInt(st.nextToken());
newStudent.a1 = Float.parseFloat(st.nextToken());
newStudent.a2 = Float.parseFloat(st.nextToken());
newStudent.a3 = Float.parseFloat(st.nextToken());
newStudent.a4 = Float.parseFloat(st.nextToken());
newStudent.midterm = Float.parseFloat(st.nextToken());
newStudent.finalExam = Float.parseFloat(st.nextToken());
return (newStudent);
}
private static void readTest2() throws IOException {
BufferedReader file1 = new BufferedReader(new FileReader("C:\Marks.txt"));
file1.readLine();
file1.readLine();
String line = file1.readLine();
while(line != null){
Student student1 = Student.loadFrom2(line);
System.out.println(student1);
line = file1.readLine();
}
}