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();
詳細は、「The Swing Connection」の「Long Term Persistence of JavaBeans Components: XML Schema」を参照してください。
XMLEncoder
, ObjectInputStream
コンストラクタ | 説明 |
---|---|
XMLDecoder(InputSource is) |
XMLEncoder クラスで作成されたXMLアーカイブを解析するための新しいデコーダを作成します。 |
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() |
このメソッドは、このストリームに関連付けられている入力ストリームをクローズします。
|
static DefaultHandler |
createHandler(Object owner, ExceptionListener el, ClassLoader cl) |
XMLEncoder クラスで作成されたXML埋込みアーカイブの解析に使用できるSAXパーサー用の新しいハンドラを作成します。 |
ExceptionListener |
getExceptionListener() |
このストリームの例外ハンドラを取得します。
|
Object |
getOwner() |
このデコーダの所有者を取得します。
|
Object |
readObject() |
基本となる入力ストリームから次のオブジェクトを読み込みます。
|
void |
setExceptionListener(ExceptionListener exceptionListener) |
このストリームの例外ハンドラを
exceptionListener に設定します。 |
void |
setOwner(Object owner) |
このデコーダの所有者を
owner に設定します。 |
public XMLDecoder(InputStream in)
XMLEncoder
クラスで作成されたアーカイブを読み取るための新しい入力ストリームを作成します。in
- ベースとなるストリーム。XMLEncoder.XMLEncoder(java.io.OutputStream)
public XMLDecoder(InputStream in, Object owner)
XMLEncoder
クラスで作成されたアーカイブを読み取るための新しい入力ストリームを作成します。in
- ベースとなるストリーム。owner
- このストリームの所有者。public XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener)
XMLEncoder
クラスで作成されたアーカイブを読み取るための新しい入力ストリームを作成します。in
- ベースとなるストリーム。owner
- このストリームの所有者。exceptionListener
- このストリームの例外ハンドラ。null
の場合は、デフォルトの例外リスナーが使用されます。public XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)
XMLEncoder
クラスで作成されたアーカイブを読み取るための新しい入力ストリームを作成します。in
- ベースとなるストリーム。エラーなしでnull
が渡されることがあるが、得られるXMLDecoderは無効ですowner
- このストリームの所有者。null
は正当な値ですexceptionListener
- このストリームの例外ハンドラ。またはデフォルト値を使用する場合はnull
cl
- オブジェクトのインスタンスを生成するために使用されるクラス・ローダー。null
はデフォルトのクラス・ローダーを使用することを示しますpublic XMLDecoder(InputSource is)
XMLEncoder
クラスで作成されたXMLアーカイブを解析するための新しいデコーダを作成します。 入力ソースのis
がnull
である場合、例外はスローされず、解析は行われません。 この動作は、InputStream
をパラメータとして使用するその他のコンストラクタの動作と似ています。 is
- 解析する入力ソースpublic void close()
close
、インタフェースAutoCloseable
public void setExceptionListener(ExceptionListener exceptionListener)
exceptionListener
に設定します。 このストリームが回復可能な例外をキャッチすると、この例外ハンドラに通知されます。 exceptionListener
- このストリームの例外ハンドラ。null
の場合は、デフォルトの例外リスナーが使用されます。getExceptionListener()
public ExceptionListener getExceptionListener()
setExceptionListener(java.beans.ExceptionListener)
public Object readObject()
ArrayIndexOutOfBoundsException
- ストリームに含まれるオブジェクトがない場合、またはこれ以上オブジェクトがない場合XMLEncoder.writeObject(java.lang.Object)
public void setOwner(Object owner)
owner
に設定します。owner
- このデコーダの所有者。getOwner()
public Object getOwner()
setOwner(java.lang.Object)
public static DefaultHandler createHandler(Object owner, ExceptionListener el, ClassLoader cl)
XMLEncoder
クラスで作成されたXML埋込みアーカイブの解析に使用できるSAXパーサー用の新しいハンドラを作成します。 解析するXMLドキュメントの<java>要素のコンテキスト内にメソッドの呼出しが含まれている場合は、owner
を使用してください。 そのような場合、null
値を指定すると、不正な解析が行なわれる場合があります。 呼び出されることが想定されるメソッドがowner
クラスに含まれていない場合、同じ問題が発生することがあります。 詳細は、ここを参照してください。 owner
- <java>要素の値として使用できるデフォルト・ハンドラの所有者el
- このパーサーの例外ハンドラ。またはデフォルトの例外ハンドラを使用する場合はnull
cl
- オブジェクトのインスタンスを生成するために使用されるクラス・ローダー。または、デフォルトのクラス・ローダーを使用する場合はnull
DefaultHandler
のインスタンス バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。