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
时间: 2024-11-05 23:29:02