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中。读者可查看该文件,以了解程序的输出。