java学生管理系统io流
时间: 2024-01-12 18:21:54 浏览: 123
Java学生管理系统中的IO流主要用于读取和写入学生信息到文件中。下面是一个简单的Java学生管理系统的示例代码,演示了如何使用IO流进行学生信息的读取和写入:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
// 学生类
class Student implements Serializable {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
// 学生管理系统类
class StudentManagementSystem {
private List<Student> students;
public StudentManagementSystem() {
students = new ArrayList<>();
}
// 添加学生信息
public void addStudent(Student student) {
students.add(student);
}
// 保存学生信息到文件
public void saveToFile(String filename) {
try {
FileOutputStream fileOut = new FileOutputStream(filename);
ObjectOutputStream objectOut = new ObjectOutputStream(fileOut);
objectOut.writeObject(students);
objectOut.close();
fileOut.close();
System.out.println("学生信息已保存到文件:" + filename);
} catch (IOException e) {
e.printStackTrace();
}
}
// 从文件中读取学生信息
public void loadFromFile(String filename) {
try {
FileInputStream fileIn = new FileInputStream(filename);
ObjectInputStream objectIn = new ObjectInputStream(fileIn);
students = (List<Student>) objectIn.readObject();
objectIn.close();
fileIn.close();
System.out.println("从文件中读取到的学生信息:");
for (Student student : students) {
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge());
}
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
// 测试类
public class Main {
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
// 添加学生信息
system.addStudent(new Student("张三", 18));
system.addStudent(new Student("李四", 20));
system.addStudent(new Student("王五", 22));
// 保存学生信息到文件
system.saveToFile("students.dat");
// 从文件中读取学生信息
system.loadFromFile("students.dat");
}
}
```
运行结果:
```
学生信息已保存到文件:students.dat
从文件中读取到的学生信息:
姓名:张三,年龄:18
姓名:李四,年龄:20
姓名:王五,年龄:22
```
阅读全文