java编写一个student类用来描述学生对象,创建若干学生,将其写入文件;再从文件读出学生信息,展示在屏幕上。 文件流
时间: 2024-02-27 10:56:46 浏览: 35
好的,我来为您解答。首先,我们先来编写一个 Student 类,代码如下:
```java
import java.io.Serializable;
public class Student implements Serializable {
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;
}
public String toString() {
return "Name: " + name + ", Age: " + age + ", Gender: " + gender;
}
}
```
在这个类中,我们定义了三个属性:姓名、年龄和性别,并且提供了一个构造方法和一些 getter 方法,以及一个 toString 方法。
接下来,我们来创建若干个学生并将它们写入文件中。代码如下:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
Student[] students = {
new Student("Alice", 18, "female"),
new Student("Bob", 19, "male"),
new Student("Charlie", 20, "male")
};
try {
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("students.dat"));
for (Student student : students) {
output.writeObject(student);
}
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个代码中,我们首先创建了若干个学生对象,并将它们存放在一个数组中。然后,我们使用 ObjectOutputStream 类将这些学生对象写入到一个名为 students.dat 的文件中。
最后,我们再从文件中读出学生信息并展示在屏幕上。代码如下:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
ObjectInputStream input = new ObjectInputStream(new FileInputStream("students.dat"));
while (true) {
Student student = (Student) input.readObject();
System.out.println(student);
}
} catch (EOFException e) {
// reach end of file
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个代码中,我们使用 ObjectInputStream 类从 students.dat 文件中读取学生对象,并展示在屏幕上。我们使用了一个 while 循环来不断读取对象,直到到达文件的结尾。当读取到 EOFException 异常时,表示已经到达文件的结尾,循环结束。
综上所述,这就是使用 Java 文件流来创建 Student 类、写入学生信息并从文件中读取展示的完整代码。