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!

