ObjectOutputStream類enableReplaceObject()方法
- enableReplaceObject() 方法可在
java.io
包。 - enableReplaceObject() 方法用於激活此 ObjectOutputStream 以替換流中的對象。如果布爾變量設置為 true,則為每個序列化的對象調用 replaceObject(),它首先調用具有 SerializablePermission(“enableSubstitution”) 權限的 SecurityManager 的 checkPermission() 以驗證它是否準備好在 SecurityManager 存在時啟用流來替換流中的對象.
- enableReplaceObject() 方法是一個非靜態方法,它隻能通過類對象訪問,如果我們嘗試使用類名訪問方法,那麽我們將得到一個錯誤。
- enableReplaceObject() 方法可能會在啟用對象進行替換時拋出異常。
安全管理器:當它的 checkPermission() 方法不允許在 SecurityManager 存在時啟用流替換對象時,可能會拋出此異常。
用法:
protected boolean enableReplaceObject(boolean status);
參數:
boolean status
- 表示是否啟用或禁用流來替換流中的對象的狀態。
返回值:
這個方法的返回類型是boolean
,它返回調用此方法之前的舊設置。
例:
// Java program to demonstrate the example
// of void drain() method of
// ObjectOutputStream
import java.io.*;
public class Drain extends ObjectOutputStream {
public Drain(OutputStream os) throws IOException {
super(os);
}
public static void main(String[] args) throws Exception {
// Instantiates ObjectOutputStream , ObjectInputStream
// FileInputStream and FileOutputStream
FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt");
Drain obj_out_stm = new Drain(file_out_stm);
FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt");
ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);
// By using writeObject() method is to
// write the object to the stream
obj_out_stm.writeInt(156924);
// By using drain() method is to
// drain the stream
obj_out_stm.drain();
// By using readObject() method is to
// read the object
int in = (int) obj_in_stm.readInt();
System.out.println("obj_in_stm.readInt():" + in );
// By using close() method is to
// close all the streams
System.out.println("Stream Shutdown... ");
file_in_stm.close();
file_out_stm.close();
obj_in_stm.close();
obj_out_stm.close();
}
}
輸出
obj_in_stm.readInt():156924 Stream Shutdown...
相關用法
- Java ObjectOutputStream writeFields()用法及代碼示例
- Java ObjectOutputStream writeBytes()用法及代碼示例
- Java ObjectOutputStream useProtocolVersion()用法及代碼示例
- Java ObjectOutputStream writeBoolean()用法及代碼示例
- Java ObjectOutputStream flush()用法及代碼示例
- Java ObjectOutputStream writeByte()用法及代碼示例
- Java ObjectOutputStream writeObject()用法及代碼示例
- Java ObjectOutputStream drain()用法及代碼示例
- Java ObjectOutputStream writeFloat()用法及代碼示例
- Java ObjectOutputStream writeUnshared()用法及代碼示例
- Java ObjectOutputStream writeChar()用法及代碼示例
- Java ObjectOutputStream writeChars()用法及代碼示例
- Java ObjectOutputStream writeShort()用法及代碼示例
- Java ObjectOutputStream reset()用法及代碼示例
- Java ObjectOutputStream writeInt()用法及代碼示例
- Java ObjectOutputStream writeLong()用法及代碼示例
- Java ObjectOutputStream close()用法及代碼示例
- Java ObjectOutputStream replaceObject()用法及代碼示例
- Java ObjectOutputStream writeDouble()用法及代碼示例
- Java ObjectInputStream readDouble()用法及代碼示例
注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java ObjectOutputStream enableReplaceObject() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。