java使用序列流完成存入2个学生信息到students.txt文件,然后将其内容再读取出来,使用我们的Stream流遍历学生的所有学号信息的代码
时间: 2024-04-30 11:17:07 浏览: 77
java代码-解决请把这5个人的信息存到数组中,并遍历数组,获得每个人信息的问题java源代码
好的,您的第一个问题是如何使用Java的序列流完成存入2个学生信息到students.txt文件,然后将其内容再读取出来,并使用Stream流遍历学生的所有学号信息的代码。
以下是答案:
```
import java.io.*;
import java.util.ArrayList;
public class Student implements Serializable{
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
try {
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream("students.txt"));
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("001", "张三"));
students.add(new Student("002", "李四"));
output.writeObject(students);
output.close();
ObjectInputStream input = new ObjectInputStream(new FileInputStream("students.txt"));
ArrayList<Student> studentsFromFile = (ArrayList<Student>)input.readObject();
input.close();
studentsFromFile.stream().forEach(s -> System.out.println(s.getId()));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码会序列化两个学生对象,写入到名为"students.txt"的文件中。然后再从文件中读取这两个学生对象,并使用Stream流遍历所有学生的学号信息。
请注意,这里的Student类实现了Serializable接口,以便可以序列化和反序列化。
阅读全文