ObjectInputStream 類方法的 registerValidation() 方法在返回圖形之前注冊要驗證的對象。雖然此方法與 resolveObject 類似,但在重建整個圖後調用這些驗證。
用法
public void registerValidation(ObjectInputValidation obj, int prio) throws NotActiveException, InvalidObjectException參數
Obj:作為接收驗證回調的對象。
prio:as 控製回調的順序
返回
將 void 作為返回類型。
拋出
非活動異常
無效對象異常
例子1
import java.io.*;
class ObjectInputStreamDemo2 extends ObjectInputStream
{
public ObjectInputStreamDemo2(InputStream instream) throws IOException
{
super(instream);
}
}
public class objectInputStreamRegisterValidationExample1
{
public static void main(String[] args)
{
String str1 = "javaTpoint";
try
{
FileOutputStream outstream = new FileOutputStream("file1.txt");
ObjectOutputStream instream = new ObjectOutputStream(outstream);
ObjectInputStream objInStream = new ObjectInputStream(new FileInputStream("file1.txt"));
instream.writeObject(new Test1());
instream.writeUTF(str1);
instream.flush();
Test1 obj = (Test1) objInStream.readObject();
System.out.println("Using readFields():" + obj.str2);
System.out.println("Valiations:::");
if (Test1.str2.equals("Welcome to javaTpoint"))
{
System.out.println("Welcome to javaTpoint");
}
else
{
System.out.println("Something wrong with the validations:");
}
}
catch (Exception excpt)
{
System.out.println("Error");
excpt.printStackTrace();
}
}
static class Test1 implements Serializable, ObjectInputValidation
{
static String str2 = "Welcome to javaTpoint";
private String readObject(ObjectInputStream in)
throws IOException, ClassNotFoundException
{
ObjectInputStream.GetField getfield = in.readFields();
in.registerValidation(this, 0);
return (String) getfield.get("str2", null);
}
@Override
public void validateObject() throws InvalidObjectException
{
throw new UnsupportedOperationException("Not supported yet.");
}
}
}輸出:
Using readFields():Welcome to javaTpoint Valiations::: Welcome to javaTpoint
例子2
import java.io.*;
class ObjectInputStreamDemo3 extends ObjectInputStream
{
public ObjectInputStreamDemo3(InputStream instream) throws IOException
{
super(instream);
}
}
public class objectInputStreamRegisterValidationExample2
{
public static void main(String[] args)
{
try
{
FileOutputStream outstream = new FileOutputStream("file1.txt");
ObjectOutputStream instream = new ObjectOutputStream(outstream);
ObjectInputStream objInStream = new ObjectInputStream(new FileInputStream("file1.txt"));
instream.writeObject(new Test1());
instream.flush();
Test1 obj = (Test1) objInStream.readObject();
if (Test1.str2.equals("Welcome to javaTpoint"))
{
System.out.println("JavaTpoint");
}
}
catch (Exception excpt)
{
System.out.println("Error");
excpt.printStackTrace();
}
}
static class Test1 implements Serializable, ObjectInputValidation
{
static String str2 = "Welcome to javaTpoint";
private String readObject(ObjectInputStream in)
throws IOException, ClassNotFoundException
{
ObjectInputStream.GetField getfield = in.readFields();
in.registerValidation(this, 0);
return (String) getfield.get("str2", null);
}
@Override
public void validateObject() throws InvalidObjectException
{
throw new UnsupportedOperationException("Not supported yet.");
}
}
}輸出:
JavaTpoint
相關用法
- Java ObjectInputStream registerValidation()用法及代碼示例
- Java ObjectInputStream readDouble()用法及代碼示例
- Java ObjectInputStream readUnsignedByte()用法及代碼示例
- Java ObjectInputStream readFields()用法及代碼示例
- Java ObjectInputStream readFully()用法及代碼示例
- Java ObjectInputStream readInt()用法及代碼示例
- Java ObjectInputStream read()用法及代碼示例
- Java ObjectInputStream readUTF()用法及代碼示例
- Java ObjectInputStream readField()用法及代碼示例
- Java ObjectInputStream readShort()用法及代碼示例
- Java ObjectInputStream readUnsingedByte()用法及代碼示例
- Java ObjectInputStream readByte()用法及代碼示例
- Java ObjectInputStream readLong()用法及代碼示例
- Java ObjectInputStream readStreamHeader()用法及代碼示例
- Java ObjectInputStream readUnsignedShort()用法及代碼示例
- Java ObjectInputStream resolveClass()用法及代碼示例
- Java ObjectInputStream readObjectOverride()用法及代碼示例
- Java ObjectInputStream readUnshared()用法及代碼示例
- Java ObjectInputStream readChar()用法及代碼示例
- Java ObjectInputStream readObject()用法及代碼示例
注:本文由純淨天空篩選整理自 Java ObjectInputStream registerValidation() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
