- java.lang.Object
-  
      - java.beans.XMLDecoder
 
-  
       - 实现的所有接口
-  
         AutoCloseable
 
 public class XMLDecoder extends Object implements AutoCloseable 该XMLDecoder类用于读取使用创建的XML文档XMLEncoder,并用于就像ObjectInputStream。 例如,可以使用以下片段来读取由XMLEncoder类编写的XML文档中定义的第一个对象:XMLDecoder d = new XMLDecoder( new BufferedInputStream( new FileInputStream("Test.xml"))); Object result = d.readObject(); d.close();有关更多信息,您可能还需要查看Long Term Persistence of JavaBeans Components: XML Schema , The Swing Connection中的一篇文章。 - 从以下版本开始:
- 1.4
- 另请参见:
-  
         XMLEncoder,ObjectInputStream
 
-  
        
       -  
             构造方法摘要构造方法 构造器 描述 XMLDecoder(InputStream in)创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。XMLDecoder(InputStream in, Object owner)创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener)创建一个新的输入流,用于读取由XMLEncoder类创建的XMLEncoder。XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。XMLDecoder(InputSource is)创建一个新解码器来解析由XMLEncoder类创建的XML存档。
 -  
             方法摘要所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 voidclose()此方法关闭与此流关联的输入流。static DefaultHandlercreateHandler(Object owner, ExceptionListener el, ClassLoader cl)为SAX解析器创建一个新的处理程序,可用于解析由XMLEncoder类创建的嵌入式XML存档。ExceptionListenergetExceptionListener()获取此流的异常处理程序。ObjectgetOwner()获取此解码器的所有者。ObjectreadObject()从基础输入流中读取下一个对象。voidsetExceptionListener(ExceptionListener exceptionListener)将此流的异常处理程序设置为exceptionListener。voidsetOwner(Object owner)将此解码器的所有者设置为owner。
 
-  
             
-  
        
       -  
             构造方法详细信息-  XMLDecoderpublic XMLDecoder(InputStream in) 创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。- 参数
-  
              in- 基础流。
- 另请参见:
-  
              XMLEncoder(java.io.OutputStream)
 
 -  XMLDecoderpublic XMLDecoder(InputStream in, Object owner) 创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。- 参数
-  
              in- 基础流。
-  
              owner- 此流的所有者。
 
 -  XMLDecoderpublic XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener) 创建一个新的输入流,用于读取由XMLEncoder类创建的XMLEncoder。- 参数
-  
              in- 基础流。
-  
              owner- 此流的所有者。
-  
              exceptionListener- 流的异常处理程序; 如果null将使用默认的异常监听器。
 
 -  XMLDecoderpublic XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl) 创建一个新的输入流,用于读取XMLEncoder类创建的XMLEncoder。- 参数
-  
              in- 基础流。null可以null地传递,但生成的XMLDecoder将无用
-  
              owner- 此流的所有者。null是一个合法的价值观
-  
              exceptionListener- 流的异常处理程序,或null使用默认值
-  
              cl- 用于实例化对象的类加载器。null表示应使用默认的类加载器
- 从以下版本开始:
- 1.5
 
 -  XMLDecoderpublic XMLDecoder(InputSource is) 创建一个新的解码器来解析由XMLEncoder类创建的XML存档。 如果输入源is是null,则不会抛出异常并且不执行解析。 此行为类似于使用InputStream作为参数的其他构造函数的行为。- 参数
-  
              is- 要解析的输入源
- 从以下版本开始:
- 1.7
 
 
-  
 -  
             方法详细信息-  closepublic void close() 此方法关闭与此流关联的输入流。- Specified by:
-  
              closein界面AutoCloseable
 
 -  setExceptionListenerpublic void setExceptionListener(ExceptionListener exceptionListener) 将此流的异常处理程序设置为exceptionListener。 当此流捕获可恢复的异常时,将通知异常处理程序。- 参数
-  
              exceptionListener- 此流的异常处理程序; 如果null将使用默认的异常监听器。
- 另请参见:
-  
              getExceptionListener()
 
 -  getExceptionListenerpublic ExceptionListener getExceptionListener() 获取此流的异常处理程序。- 结果
- 此流的异常处理程序。 如果未明确设置,则返回默认异常侦听器。
- 另请参见:
-  
              setExceptionListener(java.beans.ExceptionListener)
 
 -  readObjectpublic Object readObject() 从基础输入流中读取下一个对象。- 结果
- 下一个对象读取
- 异常
-  
              ArrayIndexOutOfBoundsException- 如果流不包含任何对象(或不包含其他对象)
- 另请参见:
-  
              XMLEncoder.writeObject(java.lang.Object)
 
 -  setOwnerpublic void setOwner(Object owner) 将此解码器的所有者设置为owner。- 参数
-  
              owner- 此解码器的所有者。
- 另请参见:
-  
              getOwner()
 
 -  getOwnerpublic Object getOwner() 获取此解码器的所有者。- 结果
- 这个解码器的拥有者。
- 另请参见:
-  
              setOwner(java.lang.Object)
 
 -  createHandlerpublic static DefaultHandler createHandler(Object owner, ExceptionListener el, ClassLoader cl) 为SAX解析器创建一个新的处理程序,可用于解析由XMLEncoder类创建的嵌入式XML存档。 如果解析的XML文档包含<java>元素的上下文中的方法调用,则应使用owner。 在这种情况下,null值可能会导致非法解析。 如果owner类不包含要调用的预期方法,则可能会出现同样的问题。 查看详细信息here 。- 参数
-  
              owner- 可用作<java>元素值的默认处理程序的所有者
-  
              el- 解析器的异常处理程序,或null使用默认的异常处理程序
-  
              cl- 用于实例化对象的类加载器,或null使用默认类加载器
- 结果
- 
               SAX解析器的 
              DefaultHandler实例
- 从以下版本开始:
- 1.7
 
 
-  
 
-