15.7.3 对象序列化处理ObjectOutputStream类的使用
“ObjectOutputStream”类继承了“OutputStream”类,同时实现了“ObjectOutput”接口,提供将对象序列化并写入流中的功能。此类的构造器如下:
public ObjectOutputStream(OutputStream out)
【实例15.24】下面通过一个实例,来看看如何使用“ObjectOutputStream”类。
01 import java.io.*;
02 public class file23
03 {
04 ///创建一个文件对象f
05 ///创建一个输出流对象fos,并且以f作为参数
06 ///创建一个对象序列化处理类的对象oos,并且以fos作为参数
07 ///创建一个学生类st
08 ///利用oos对象方法将st的属性值写入到f中
09 public static void main(String[]args)throws Exception
10 {
11 File f=new File("d://raf.txt");
12 FileOutputStream fos=new FileOutputStream(f);
13 ObjectOutputStream oos=new ObjectOutputStream(fos);
14 student st=new student();
15 st.name="王鹏";
16 st.code="96765";
17 st.age="28";
18 st.sexy="男";
19 st.school="重庆大学";
20 st.grade="计算机三年级二班";
21 st.address="重庆市沙坪坝";
22 oos.writeObject(st);
23 oos.close();
24 System.out.println("文件创建完了!");
25 }
26 }
27 ///创建一个学生类
28 ///类中有name、age、sexy、school、code、address等属性
29 class student implements Serializable
30 {
31 String name;
32 String age;
33 String sexy;
34 String school;
35 String grade;
36 String address;
37 String code;
38 }
【代码说明】第29~38行创建了一个类student,其实现了Serializable接口。第14~21行创建st对象,并设置对象的各个属性。第22行输出类对象。
【运行效果】这个程序将一个对象直接写入到文本文件raf.txt中。读者可查看该文件,以了解程序的输出。