JavaTM Platform
Standard Ed. 6

java.beans
类 XMLDecoder

java.lang.Object
  继承者 java.beans.XMLDecoder

public class XMLDecoder
extends Object

XMLDecoder 类用于读取使用 XMLEncoder 创建的 XML 文档,用途类似于 ObjectInputStream。例如,用户可以使用以下代码片段来读取以 XML 文档形式(通过 XMLEncoder 类写入)定义的第一个对象:

       XMLDecoder d = new XMLDecoder(
                          new BufferedInputStream(
                              new FileInputStream("Test.xml")));
       Object result = d.readObject();
       d.close();
 

有关的更多信息,还可以参阅 The Swing Connection 中的 Long Term Persistence of JavaBeans Components:XML Schema 一文。

从以下版本开始:
1.4
另请参见:
XMLEncoder, ObjectInputStream

构造方法摘要
XMLDecoder(InputStream in)
          创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。
XMLDecoder(InputStream in, Object owner)
          创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。
XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener)
          创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。
XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)
          创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。
 
方法摘要
 void close()
          此方法关闭与此流相关联的输入流。
 ExceptionListener getExceptionListener()
          获得此流的异常处理程序。
 Object getOwner()
          获得此解码器的所有者。
 Object readObject()
          从基础输入流中读取下一个对象。
 void setExceptionListener(ExceptionListener exceptionListener)
          将此流的异常处理程序设置为 exceptionListener
 void setOwner(Object owner)
          将此解码器的所有者设置为 owner
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

XMLDecoder

public XMLDecoder(InputStream in)
创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。

参数:
in - 基础流。
另请参见:
XMLEncoder.XMLEncoder(java.io.OutputStream)

XMLDecoder

public XMLDecoder(InputStream in,
                  Object owner)
创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。

参数:
in - 基础流。
owner - 此流的所有者。

XMLDecoder

public XMLDecoder(InputStream in,
                  Object owner,
                  ExceptionListener exceptionListener)
创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。

参数:
in - 基础流。
owner - 此流的所有者。
exceptionListener - 该流的异常处理程序,如果为 null,则使用默认异常处理程序。

XMLDecoder

public XMLDecoder(InputStream in,
                  Object owner,
                  ExceptionListener exceptionListener,
                  ClassLoader cl)
创建一个新的输入流,以读取由 XMLEncoder 类创建的档案。

参数:
in - 基础流。可以传递 null 而不会出现错误,尽管得到的 XMLDecoder 将是无用的
owner - 此流的所有者。null 是一个合法值
exceptionListener - 流的异常处理程序,null 表示使用默认处理程序
cl - 用于实例化对象的类加载器。null 指示应该使用默认类加载器
从以下版本开始:
1.5
方法详细信息

close

public void close()
此方法关闭与此流相关联的输入流。


setExceptionListener

public void setExceptionListener(ExceptionListener exceptionListener)
将此流的异常处理程序设置为 exceptionListener。当此流捕获可恢复的异常时,异常处理程序会获得通知。

参数:
exceptionListener - 此流的异常处理程序,如果该参数为 null,则使用默认异常处理程序。
另请参见:
getExceptionListener()

getExceptionListener

public ExceptionListener getExceptionListener()
获得此流的异常处理程序。

返回:
此流的异常处理程序。如果没有显式设置异常处理程序,则返回默认异常侦听器。
另请参见:
setExceptionListener(java.beans.ExceptionListener)

readObject

public Object readObject()
从基础输入流中读取下一个对象。

返回:
读取的下一个对象
抛出:
ArrayIndexOutOfBoundsException - 如果流中没有包含任何对象(或者没有更多的对象)
另请参见:
XMLEncoder.writeObject(java.lang.Object)

setOwner

public void setOwner(Object owner)
将此解码器的所有者设置为 owner

参数:
owner - 此解码器的所有者。
另请参见:
getOwner()

getOwner

public Object getOwner()
获得此解码器的所有者。

返回:
此解码器的所有者。
另请参见:
setOwner(java.lang.Object)

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策