Java.io.ObjectOutputStream.reset() 方法
描述
java.io.ObjectOutputStream.reset() 方法将忽略已写入流的任何对象的状态。 状态被重置为与新的 ObjectOutputStream 相同。 流中的当前点被标记为重置,因此相应的 ObjectInputStream 将在同一点重置。 之前写入流的对象不会被称为已经在流中。 它们将再次写入流。
声明
以下是 java.io.ObjectOutputStream.reset() 方法的声明。
public void reset()
参数
obj − 要替换的对象。
返回值
此方法不返回值。
异常
IOException − 如果在序列化对象时调用了 reset()。
示例
下面的例子展示了 java.io.ObjectOutputStream.reset() 方法的使用。
package com.tutorialspoint; 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!