模块  java.desktop
软件包  java.beans

Class 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 SchemaThe Swing Connection中的一篇文章

    从以下版本开始:
    1.4
    另请参见:
    XMLEncoderObjectInputStream
    • 构造方法详细信息

      • XMLDecoder

        public XMLDecoder​(InputStream in,
                          Object owner)
        创建一个新的输入流,用于读取 XMLEncoder类创建的 XMLEncoder
        参数
        in - 基础流。
        owner - 此流的所有者。
      • XMLDecoder

        public XMLDecoder​(InputStream in,
                          Object owner,
                          ExceptionListener exceptionListener)
        创建一个新的输入流,用于读取由 XMLEncoder类创建的 XMLEncoder
        参数
        in - 基础流。
        owner - 此流的所有者。
        exceptionListener - 流的异常处理程序; 如果null将使用默认的异常监听器。
      • XMLDecoder

        public XMLDecoder​(InputStream in,
                          Object owner,
                          ExceptionListener exceptionListener,
                          ClassLoader cl)
        创建一个新的输入流,用于读取 XMLEncoder类创建的 XMLEncoder
        参数
        in - 基础流。 null可以null地传递,但生成的XMLDecoder将无用
        owner - 此流的所有者。 null是一个合法的价值观
        exceptionListener - 流的异常处理程序,或 null使用默认值
        cl - 用于实例化对象的类加载器。 null表示应使用默认的类加载器
        从以下版本开始:
        1.5
      • XMLDecoder

        public XMLDecoder​(InputSource is)
        创建一个新的解码器来解析由XMLEncoder类创建的XML存档。 如果输入源isnull ,则不会抛出异常并且不执行解析。 此行为类似于使用InputStream作为参数的其他构造函数的行为。
        参数
        is - 要解析的输入源
        从以下版本开始:
        1.7
    • 方法详细信息

      • close

        public void close()
        此方法关闭与此流关联的输入流。
        Specified by:
        close in界面 AutoCloseable
      • setExceptionListener

        public void setExceptionListener​(ExceptionListener exceptionListener)
        将此流的异常处理程序设置为exceptionListener 当此流捕获可恢复的异常时,将通知异常处理程序。
        参数
        exceptionListener - 此流的异常处理程序; 如果null将使用默认的异常监听器。
        另请参见:
        getExceptionListener()
      • setOwner

        public void setOwner​(Object owner)
        将此解码器的所有者设置为 owner
        参数
        owner - 此解码器的所有者。
        另请参见:
        getOwner()
      • createHandler

        public 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