2.仔细阅读下面给出的代码框架及注释,在Begin-End 间编写程序代码, 序序列化给定 Student 对象到给定文件中,再通过反序列化把其转化为一个 对象,具体要求如下: •接收给定的一行字符串(如:/test/a.txt Bob 23,第一部分为给定 文件路径,第二部分为 Student 对象姓名,第三部分为 Student 对 象年龄); •给 Student 对象属性赋值,并序列化到文件中; •通过反序列化把文件内容转化为一个对象,并输出所有属性值。 Student 类代码如下: 1. import java.io.Serializable; 2. public class Student implements Serializable { public String public int age; 5. import java.io.*; import java.util.Arrays; import java.util.Scanner; public class FileTest { public static void main(String[] args) throws IOException, ClassNotFoundException Scanner scanner = new Scanner (System.in); String filedir = scanner. next () ; 2 String name = scanner. next () ; int age = scanner .nextInt); 1/ 请在此编写代码 ********** Begin **********/ 1/创建 Student 对象 /给对象属性赋值 1/序列化对象到文件中,并通过反序列化读取文件内容,最后打 印对象的所有属性 End
时间: 2024-01-17 17:40:45 浏览: 155
一种电池检测设备的上位机程序源码+项目说明(程序采用C#语言WinForm框架实现,代码注释风格清晰).zip
/********** Begin **********/
// 1. 创建 Student 对象并给属性赋值
Student student = new Student();
student.name = name;
student.age = age;
// 2. 序列化 Student 对象到文件中
FileOutputStream fos = new FileOutputStream(filedir);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(student);
oos.close();
fos.close();
// 3. 通过反序列化读取文件内容并输出所有属性值
FileInputStream fis = new FileInputStream(filedir);
ObjectInputStream ois = new ObjectInputStream(fis);
Student deserializedStudent = (Student) ois.readObject();
ois.close();
fis.close();
System.out.println("Name: " + deserializedStudent.name);
System.out.println("Age: " + deserializedStudent.age);
/********** End **********/
阅读全文