import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Arrays; //学生类 class Student implements Comparable<Student>,Serializable{ private int sid; private String sname; //加入你的代码 public Student(int sid, String sname){ this.sid = sid; this.sname = sname; } public int getsid(){ return sid; } public String getsname(){ return sname; } public int compareTo(Student student){ return Integer.compare(this.sid, student.sid); } public String toString(){ return "Student [" + "sid=" + sid + ",sname=" + sname + "]"; } } //测试类 public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub Student[] list1=new Student[3]; list1[0]=new Student("102","zs"); list1[1]=new Student("101","ls"); list1[2]=new Student("103","ws"); //加入你的代码 } } 补充此代码,题目要求为:(1)创建3个学生对象,按学号排序后写入文件。 2)再从文件中读取并输出所有学生对象。用java代码写一下这道题
时间: 2023-12-06 07:42:37 浏览: 273
import java.io.*;
public class Test2 {
public static void main(String[] args) {
// 创建学生数组,按学号排序
Student[] list1 = new Student[3];
list1[0] = new Student(102, "zs");
list1[1] = new Student(101, "ls");
list1[2] = new Student(103, "ws");
Arrays.sort(list1);
// 将学生对象写入文件
try {
FileOutputStream fos = new FileOutputStream("students.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
for (Student s : list1) {
oos.writeObject(s);
}
oos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 从文件中读取学生对象并输出
try {
FileInputStream fis = new FileInputStream("students.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
System.out.println("从文件中读取到的学生信息:");
while (fis.available() > 0) {
System.out.println(ois.readObject());
}
ois.close();
fis.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
阅读全文
相关推荐



















