#### 1.实现方法

n 创建一个项目

n 创建一个包 javabasic54

n 创建 public class SerializedObject,并添加 main()方法

#### 2.串行化研究

n 创建一个要串行化的对象 Object object = new javax.swing.JButton("push me")

n 下面的语句能抛出 IOException，放在 try 块中，并用 catch 语句捕获此异常

n 首先我们来看如何把一个对象串行化到一个文件：

l 在文件输出流的基础上创建对象输出流 out，即 ObjectOutput out = new ObjectOutputStream(new FileOutputStream("button.ser"))

l 利用对象输出流 out 的 writeObject()方法把对象串行化到一个文件，即 out.writeObject(object)

l 关闭输出流 out.close()

n 还可以把对象串行化到一个字节数组：

l 创建一个字节数组输出流 bos，即 ByteArrayOutputStream bos = new ByteArrayOutputStream()

l 在字节数组输出流 bos 的基础上，创建对象输出流 out = new ObjectOutputStream(bos)

l 利用对象输出流 out 的 writeObject()方法把对象串行化到字节数组，即 out.writeObject(object)

l 关闭输出流 out.close()

l 通过字节数组输出流 bos 的 toByteArray()方法获取串行化对象的字节，如 byte[] buf = bos.toByteArray()

import java.io.*;

public class SerializedObject {

public static void main(String[] args) {

Object object = new javax.swing.JButton("push me");

try {

// 串行化到一个文件

ObjectOutput out = new ObjectOutputStream(new FileOutputStream("button.ser"));

out.writeObject(object);

out.close();

} catch (IOException e) {

}

try {

// 从一个文件中去串行化

File file = new File("button.ser");

ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));

// Deserialize the object

javax.swing.JButton button = (javax.swing.JButton) in.readObject();

in.close();

} catch (ClassNotFoundException e) {

} catch (IOException e) {

}

}

}

####