键盘录入一个学生对象(学号、姓名、年龄)并保存到文件,读取文件中保存的学生对象并显示该学生信息。
时间: 2023-05-01 21:00:05 浏览: 117
可以使用Java语言实现该功能。具体步骤如下:
1. 定义一个学生类,包含学号、姓名、年龄等属性,并提供相应的get/set方法。
2. 在程序中使用Scanner类获取用户输入的学生信息,创建一个学生对象,并将其保存到文件中。可以使用ObjectOutputStream类实现对象的序列化,将学生对象写入文件中。
3. 读取保存的学生对象,可以使用ObjectInputStream类实现对象的反序列化,从文件中读取学生对象,并显示该学生的信息。
具体代码实现如下:
```java
import java.io.*;
public class Student implements Serializable {
private String id;
private String name;
private int age;
public Student(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
// 获取学生信息
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学号:");
String id = scanner.nextLine();
System.out.print("请输入姓名:");
String name = scanner.nextLine();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
// 创建学生对象
Student student = new Student(id, name, age);
// 将学生对象保存到文件中
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("student.dat"));
oos.writeObject(student);
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 从文件中读取学生对象并显示信息
try {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("student.dat"));
Student s = (Student) ois.readObject();
System.out.println("学号:" + s.getId());
System.out.println("姓名:" + s.getName());
System.out.println("年龄:" + s.getAge());
ois.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
阅读全文