當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java ObjectInputStream registerValidation()用法及代碼示例

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() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。