java)程序功能:编写SerializationTest.java和DeserializationTest.java程序,利用ObjectOutputStream将 student 类的实例对象信息保持到 E:\IOTest\objectSeri.dat 文件,再利用ObjectInputStream将文件中的对象信息显示出来。
时间: 2024-02-11 14:04:29 浏览: 119
下面是 `SerializationTest.java` 代码:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class SerializationTest {
public static void main(String[] args) {
Student student = new Student("张三", "男", 20);
try (FileOutputStream fos = new FileOutputStream("E:\\IOTest\\objectSeri.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject(student);
System.out.println("Student object has been serialized successfully");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们创建了一个 `Student` 对象,并将其序列化并写入到文件 `E:\IOTest\objectSeri.dat` 中。
接下来是 `DeserializationTest.java` 代码:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class DeserializationTest {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("E:\\IOTest\\objectSeri.dat");
ObjectInputStream ois = new ObjectInputStream(fis)) {
Student student = (Student) ois.readObject();
System.out.println("Student object has been deserialized successfully");
System.out.println("Name: " + student.getName());
System.out.println("Gender: " + student.getGender());
System.out.println("Age: " + student.getAge());
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们从文件 `E:\IOTest\objectSeri.dat` 中读取序列化的 `Student` 对象,并将其反序列化为一个新的 `Student` 对象。然后我们输出了这个对象的属性值。
需要注意的是,在 `DeserializationTest.java` 中,我们需要将反序列化得到的 `Object` 强制转换成 `Student` 对象。
最后,运行 `SerializationTest.java` 和 `DeserializationTest.java` 两个程序,就可以实现将 `Student` 对象序列化到文件中,并从文件中反序列化得到这个对象了。
阅读全文