用Java实现2、文件内容如下(记录了三个学生信息),要求读取文件,将学生信息读取出来,并保存到集合中 张三,20,男,118班 李四,19,男,119班 王五,21,女,120班 字符串方法:split()分割,可以将一个字符串分割为字符串数组
时间: 2023-08-02 20:07:44 浏览: 81
JS中split()用法(将字符串按指定符号分割成数组)
可以使用Java的IO流来读取文件,并使用ArrayList集合来保存学生信息。以下是示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
public class StudentReader {
public static void main(String[] args) {
ArrayList<Student> students = readStudentsFromFile("students.txt");
System.out.println("学生信息如下:");
for (Student student : students) {
System.out.println(student);
}
}
public static ArrayList<Student> readStudentsFromFile(String filename) {
ArrayList<Student> students = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
String name = parts[0];
int age = Integer.parseInt(parts[1]);
String gender = parts[2];
String className = parts[3];
Student student = new Student(name, age, gender, className);
students.add(student);
}
} catch (Exception e) {
e.printStackTrace();
}
return students;
}
}
class Student {
private String name;
private int age;
private String gender;
private String className;
public Student(String name, int age, String gender, String className) {
this.name = name;
this.age = age;
this.gender = gender;
this.className = className;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
public String getClassName() {
return className;
}
@Override
public String toString() {
return "姓名:" + name + ",年龄:" + age + ",性别:" + gender + ",班级:" + className;
}
}
```
上述代码中,readStudentsFromFile()方法用于读取文件并保存学生信息到ArrayList集合中。在方法中,使用BufferedReader类读取文件的每一行数据,然后使用split()方法将数据分割为字符串数组,再将数组中的各个元素转换为相应的属性值,并创建一个Student对象。最后,将Student对象添加到ArrayList集合中。
在main()方法中,调用readStudentsFromFile()方法读取文件并输出学生信息。
阅读全文