Module  java.desktop
软件包  java.beans

Class XMLDecoder

  • All Implemented Interfaces:
    AutoCloseable


    public class XMLDecoder
    extends Object
    implements AutoCloseable
    XMLDecoder类用于读取使用XMLEncoder创建的XML文档,并且像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“Swing连接”中的一篇文章

    从以下版本开始:
    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在接口 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