Java.io.ObjectOutputStream.reset()方法实例
java.io.ObjectOutputStream.reset()方法将忽略已经写入流中的任何对象的状态。的状态被重置为相同的新对象输出。当前点在流中被标记为复位,相应的ObjectInputStream将在相同的点被复位。以前写入流对象将不会被方称为已在流中存在。它们将被再次写入流。
声明
以下是java.io.ObjectOutputStream.reset()方法的声明
public void reset()
参数
-
obj -- 被替换的对象
返回值
此方法没有返回值。
异常
-
IOException -- 如果reset()被调用在序列化一个对象。
例子
下面的示例演示java.io.ObjectOutputStream.reset()方法的用法。
package com.yiibai; import java.io.*; public class ObjectOutputStreamDemo { public static void main(String[] args) { Object s = "Hello World!"; Object s2 = "Bye World!"; 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); // reset the stream and rewrite what is already written oout.reset(); // write something again oout.writeObject(s2); // 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 a string System.out.println("" + (String) ois.readObject()); System.out.println("" + (String) ois.readObject()); } catch (Exception ex) { ex.printStackTrace(); } } }
让我们编译和运行上面的程序,这将产生以下结果:
Hello World! Bye World!