学生管理系统学生数据的导入导出,Java代码
时间: 2023-12-06 21:03:01 浏览: 42
以下是一个简单的 Java 程序,用于将学生数据导入导出到 CSV 文件中。
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class StudentManagementSystem {
private static final String FILE_PATH = "students.csv";
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("Tom", 18, "Male"));
students.add(new Student("Jane", 17, "Female"));
students.add(new Student("Harry", 19, "Male"));
exportStudents(students);
List<Student> importedStudents = importStudents();
System.out.println(importedStudents);
}
private static void exportStudents(List<Student> students) {
try (PrintWriter writer = new PrintWriter(new File(FILE_PATH))) {
StringBuilder sb = new StringBuilder();
sb.append("Name,Age,Gender");
sb.append('\n');
for (Student student : students) {
sb.append(student.getName());
sb.append(',');
sb.append(student.getAge());
sb.append(',');
sb.append(student.getGender());
sb.append('\n');
}
writer.write(sb.toString());
} catch (FileNotFoundException e) {
System.err.println(e.getMessage());
}
}
private static List<Student> importStudents() {
List<Student> students = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(FILE_PATH))) {
String line;
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
String name = values[0];
int age = Integer.parseInt(values[1]);
String gender = values[2];
students.add(new Student(name, age, gender));
}
} catch (FileNotFoundException e) {
System.err.println(e.getMessage());
} catch (IOException e) {
System.err.println(e.getMessage());
}
return students;
}
private static class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getGender() {
return gender;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
}
```
这个程序定义了一个内部类 `Student`,包含了学生的姓名、年龄和性别。程序中,我们定义了一个 `exportStudents` 方法,用于将学生数据导出到 CSV 文件中;还定义了一个 `importStudents` 方法,用于从 CSV 文件中导入学生数据。我们在 `main` 方法中创建了一个学生列表,并将其导出到 CSV 文件中,然后再从 CSV 文件中导入学生数据,并将其输出到控制台。