Java.io.ObjectOutputStream.writeObject()方法实例
java.io.ObjectOutputStream.writeObject(Object obj) 方法将指定对象写入ObjectOutputStream。该对象的类,类的签名,以及类及其所有超类型的非瞬态和非静态字段的值被写入。默认的序列化的类可以使用writeObject和readObject方法被重写。由此对象引用的对象都写及物动词使对象的完全等价的图形可以由ObjectInputStream重建。
声明
以下是java.io.ObjectOutputStream.writeObject()方法的声明
public final void writeObject(Object obj)
参数
-
obj -- 将要写入的对象
返回值
此方法没有返回值。
异常
-
InvalidClassException -- 类的一些错误的使用序列化。
-
NotSerializableException -- 有些对象被序列化并没有实现java.io.Serializable接口。
-
IOException -- 任何异常由底层的OutputStream抛出。
例子
下面的示例演示java.io.ObjectOutputStream.writeObject()方法的用法。
package com.yiibai;
import java.io.*;
public class ObjectOutputStreamDemo {
public static void main(String[] args) {
String s = "Hello world!";
int i = 897648764;
try {
// create a new file with an ObjectOutputStream
FileOutputStream out = new FileOutputStream("test.txt");
ObjectOutputStream oout = new ObjectOutputStream(out);
// write something in the file
oout.writeObject(s);
oout.writeObject(i);
// close the stream
oout.close();
// create an ObjectInputStream for the file we created before
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream("test.txt"));
// read and print what we wrote before
System.out.println("" + (String) ois.readObject());
System.out.println("" + ois.readObject());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
让我们编译和运行上面的程序,这将产生以下结果:
Hello world!
897648764