クラスObjectOutputStream
- すべての実装されたインタフェース:
Closeable,DataOutput,Flushable,ObjectOutput,ObjectStreamConstants,AutoCloseable
ストリームに書き込めるのはjava.io.Serializableインタフェースをサポートするオブジェクトだけです。 各直列化可能オブジェクトのクラスは、クラスの名前とシグネチャ、オブジェクトのフィールドと配列、および初期オブジェクトから参照されるほかのすべてのオブジェクトのクロージャを含めてコード化されます。
オブジェクトをストリームに書き込むにはwriteObjectメソッドを使います。 Stringや配列を含む任意のオブジェクトがwriteObjectによって書き込まれます。 複数のオブジェクトまたはプリミティブも、ストリームへの書込みが可能です。 オブジェクトを読み込むときは、対応するObjectInputstreamから同じ型として、かつ書き込まれたときと同じ順序で読み込まなければいけません。
プリミティブ・データ型をストリームに書き込むには、DataOutputの適切なメソッドを使います。 Stringを書き込む場合はwriteUTFメソッドを使います。
オブジェクトのデフォルトの直列化メカニズムは、オブジェクトのクラス、クラスのシグネチャ、およびすべての非transientおよび非staticフィールドの値を書き込みます。 ほかのオブジェクトへの参照(transientおよびstaticフィールドは除く)があれば、これらのオブジェクトも書き込まれます。 単一オブジェクトへの多重参照は参照共有メカニズムによりエンコードされ、オブジェクトのグラフを、オリジナルが書き込まれたときの形状に復元することができます。
たとえば、ObjectInputStreamの例で読み取ることができるオブジェクトを書き込む場合:
try (FileOutputStream fos = new FileOutputStream("t.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject("Today");
oos.writeObject(LocalDateTime.now());
} catch (Exception ex) {
// handle exception
}
直列化および直列化復元プロセス中に特別な処理を必要とする直列化可能なクラスは、次のシグネチャを持つメソッドを実装する必要があります:
private void readObject(java.io.ObjectInputStream stream)
throws IOException, ClassNotFoundException;
private void writeObject(java.io.ObjectOutputStream stream)
throws IOException;
private void readObjectNoData()
throws ObjectStreamException;
メソッド名、修飾子、戻り型、およびパラメータの数とタイプは、直列化または直列化復元で使用されるメソッドと完全に一致する必要があります。 これらのシグネチャと一致するチェック済例外をスローするためにのみ、メソッドを宣言する必要があります。
writeObjectメソッドは、その特定のクラスのオブジェクトの状態を書き込んで、対応するreadObjectメソッドがオブジェクトの状態を復元できるようにする役割を担います。 このメソッドは、オブジェクトのスーパー・クラスやサブクラスに属する状態に関与する必要はありません。 状態を保存するには、writeObjectメソッドを使って個々のフィールドをObjectOutputStreamに書き込むか、またはDataOutputがサポートするプリミティブ・データ型用のメソッドを使用します。
直列化では、java.io.Serializableインタフェースを実装しないオブジェクトのフィールドは書き込みません。 直列化可能でないオブジェクトのサブクラスを直列化可能にすることができます。 この場合、直列化可能でないクラスは、そのフィールドを初期化できるようにするため、引数なしのコンストラクタを持つ必要があります。 この場合、直列化可能でないクラスの状態を保存および復元するのは、サブクラスの責任になります。 そのクラスのフィールドがアクセス可能である(public、package、またはprotected)場合、あるいは状態の復元に利用できるsetメソッドやgetメソッドがある場合がしばしばあります。
writeObjectおよびreadObjectメソッドでNotSerializableExceptionをスローするように実装しておくと、オブジェクトの直列化を防止できます。 例外がObjectOutputStreamにキャッチされ、直列化処理が異常終了します。
Externalizableインタフェースを実装すると、オブジェクトの直列化された形式の内容および形式をオブジェクト側が完全に制御することが可能になります。 ExternalizableインタフェースのメソッドであるwriteExternalとreadExternalは、オブジェクトの状態を保存および復元するために呼び出されます。 これらのメソッドは、クラスによって実装された場合には、ObjectOutputとObjectInputのすべてのメソッドを使って、自身の状態の書き込みおよび読込みを行うことができます。 どのようなバージョンであっても処理できるようにするのは、オブジェクトの責任です。
enum定数の直列化は、通常の直列化可能または外部化可能オブジェクトとは異なります。 enum定数の直列化された形式を構成するのは、その名前だけです。定数のフィールド値は転送されません。 enum定数を直列化するには、その定数のnameメソッドによって返される文字列をObjectOutputStreamで書き込みます。 他の直列化可能または外部化可能オブジェクトと同様に、enum定数は直列化ストリームにその後出現する後方参照のターゲットとして機能できます。 enum定数を直列化するプロセスをカスタマイズすることはできません。enum型で定義された、クラス固有のwriteObjectメソッドおよびwriteReplaceメソッドは、直列化復元の間は無視されます。 同様に、serialPersistentFieldsまたはserialVersionUIDのフィールド宣言もすべて無視されます。すべてのenum型は0Lで固定されたserialVersionUIDを持ちます。
直列化可能フィールドおよび外部化可能データを除くプリミティブ・データは、ブロック・データ・レコードとしてObjectOutputStreamに書き込まれます。 ブロック・データ・レコードは、ヘッダーとデータで構成されます。 ブロック・データのヘッダーは、マーカーおよびヘッダーに続くバイト数で構成されます。 連続するプリミティブ・データの書込みは、1つのブロック・データ・レコードにマージされます。 ブロック・データ・レコードに使用されるブロック係数は1024バイトです。 各ブロック・データ・レコードは、1024バイトまで埋め込まれるか、ブロック・データ・モードの終了まで書き込まれます。 ObjectOutputStreamのメソッドwriteObject、defaultWriteObject、およびwriteFieldsを呼び出すと、最初に既存のブロック・データ・レコードが終了されます。
レコードの直列化は、通常の直列化可能オブジェクトまたは外部化可能オブジェクトとは異なります。「レコード直列化」を参照してください。
- 導入されたバージョン:
- 1.1
- 外部仕様
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static classObjectOutputに書き込まれる持続フィールドへのプログラムによるアクセスを提供します。 -
フィールドのサマリー
インタフェースjava.io.ObjectStreamConstantsで宣言されているフィールド
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedObjectOutputStreamを完全に実装し直すサブクラスが、ObjectOutputStreamのこの実装によって使用されたばかりのprivateデータを割り当てる必要がないようにする手段を提供します。指定されたOutputStreamに書き込むObjectOutputStreamを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明protected voidannotateClass(Class<?> cl) サブクラスは、このメソッドを実装して、クラスのデータをストリームに保存できるようにすることができます。protected voidannotateProxyClass(Class<?> cl) サブクラスはこのメソッドを実装して、ダイナミック・プロキシ・クラスに対する記述子とともにカスタム・データをストリームに格納します。voidclose()ストリームを閉じます。void現在のクラスの非staticおよび非transientのフィールドを、このストリームに書き込みます。protected voiddrain()ObjectOutputStream内のバッファリングされているデータをすべて排出します。protected booleanenableReplaceObject(boolean enable) ストリームに書き込まれたオブジェクトの置換をストリームで実行できるようにします。voidflush()ストリームをフラッシュします。ストリームに書き込まれる持続フィールドをバッファに格納するために使用されるオブジェクトを取得します。protected ObjectreplaceObject(Object obj) このメソッドは、直列化の際に、ObjectOutputStreamの信頼できるサブクラスが、あるオブジェクトをほかのオブジェクトに置換できるようにします。voidreset()Resetは、ストリームにすでに書き込まれているオブジェクトの状態を無効にします。voiduseProtocolVersion(int version) ストリームの書込み時に使用するストリーム・プロトコルのバージョンを指定します。voidwrite(byte[] buf) バイト配列を書き込みます。voidwrite(byte[] buf, int off, int len) バイト配列の一部を書き込みます。voidwrite(int val) バイトを書き込みます。voidwriteBoolean(boolean val) booleanを書き込みます。voidwriteByte(int val) 8ビットbyteを書き込みます。voidwriteBytes(String str) Stringをバイトの列として書き込みます。voidwriteChar(int val) 16ビットcharを書き込みます。voidwriteChars(String str) Stringをcharの列として書き込みます。protected void指定されたクラス記述子をObjectOutputStreamに書き込みます。voidwriteDouble(double val) 64ビットdoubleを書き込みます。voidバッファに格納されたフィールドをストリームに書き込みます。voidwriteFloat(float val) 32ビットfloatを書き込みます。voidwriteInt(int val) 32ビットintを書き込みます。voidwriteLong(long val) 64ビットのlongを書き込みます。final voidwriteObject(Object obj) 指定されたオブジェクトをObjectOutputStreamに書き込みます。protected voidサブクラスがデフォルトのwriteObjectメソッドをオーバーライドするために使用するメソッドです。voidwriteShort(int val) 16ビットshortを書き込みます。protected voidサブクラスが自身のヘッダーをストリームの前または後ろに追加できるように提供されています。voidwriteUnshared(Object obj) ObjectOutputStreamに「共有されない」オブジェクトを書き込みます。voidこのStringのプリミティブ・データを修正UTF-8形式で書き込みます。クラスjava.io.OutputStreamで宣言されたメソッド
nullOutputStream
-
コンストラクタの詳細
-
ObjectOutputStream
public ObjectOutputStream(OutputStream out) throws IOException 指定されたOutputStreamに書き込むObjectOutputStreamを作成します。 このコンストラクタは、直列化ストリーム・ヘッダーをベースとなるストリームに書き込みます。このストリームは呼出し側でただちにフラッシュしてください。ObjectInputStreamsを受け取ったコンストラクタは、ヘッダーを読み込むときにブロックするためです。- パラメータ:
out- 書込み先の出力ストリーム- スロー:
IOException- ストリーム・ヘッダーの書込み中に入出力エラーが発生した場合NullPointerException-outがnullである場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
ObjectOutputStream
protected ObjectOutputStream() throws IOExceptionObjectOutputStreamを完全に実装し直すサブクラスが、ObjectOutputStreamのこの実装によって使用されたばかりのprivateデータを割り当てる必要がないようにする手段を提供します。- スロー:
IOException- このストリームの作成中に入出力エラーが発生した場合
-
-
メソッドの詳細
-
useProtocolVersion
public void useProtocolVersion(int version) throws IOException ストリームの書込み時に使用するストリーム・プロトコルのバージョンを指定します。このルーチンは、現在のバージョンの直列化が、前のバージョンのストリーム形式と下位互換性のある形式で書き込めるようにするフックを提供します。
下位互換性のない形式がさらに導入されるのを防ぐためにあらゆる努力が行われますが、選択の余地のない場合もあります。
- パラメータ:
version- java.io.ObjectStreamConstantsからProtocolVersionを使用。- スロー:
IllegalStateException- オブジェクトが直列化されたあとに呼び出された場合。IllegalArgumentException- 渡されたバージョンが無効な場合。IOException- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
writeObject
public final void writeObject(Object obj) throws IOException 指定されたオブジェクトをObjectOutputStreamに書き込みます。 オブジェクトのクラス、クラスのシグネチャ、クラスの非transientフィールドおよび非staticフィールドの値とそのすべてのスーパー・タイプが書き込まれます。 あるクラスについてデフォルトの直列化は、writeObjectメソッドとreadObjectメソッドを使ってオーバーライドすることができます。 このオブジェクトによって参照されるオブジェクトは中間的に書き込まれ、それによって、完全に同等なオブジェクト・グラフがObjectInputStreamによって再構築されます。例外は、OutputStreamに関する問題や、直列化すべきではないクラスについてスローされます。 すべての例外は、OutputStreamにとって致命的で、OutputStreamを不確定な状態にします。ストリームの状態を無視するか回復処理するかを決めるのは呼出し側です。
- 定義:
writeObject、インタフェースObjectOutput- パラメータ:
obj- 書き込まれるオブジェクト- スロー:
InvalidClassException- 直列化で使用されるクラスになんらかの不具合があった場合。NotSerializableException- 直列化の対象オブジェクトがjava.io.Serializableインタフェースを実装していない場合。IOException- ベースとなるOutputStreamが例外をスローした場合。
-
writeObjectOverride
protected void writeObjectOverride(Object obj) throws IOException サブクラスがデフォルトのwriteObjectメソッドをオーバーライドするために使用するメソッドです。 このメソッドは、引数なしのprotectedコンストラクタを使用して、ObjectOutputStreamを構築したObjectOutputStreamの信頼できるサブクラスによって呼び出されます。 サブクラスは、修飾子がfinalのオーバーライド・メソッドを提供するとみなされます。- パラメータ:
obj- ベースとなるストリームに書き込まれるオブジェクト- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合- 導入されたバージョン:
- 1.2
- 関連項目:
-
defaultWriteObject
public void defaultWriteObject() throws IOException現在のクラスの非staticおよび非transientのフィールドを、このストリームに書き込みます。 このメソッドを呼び出すことができるのは、直列化が行われているクラスのwriteObjectメソッドだけです。 別の方法で呼び出された場合はNotActiveExceptionをスローします。- スロー:
IOException- ベースとなるOutputStreamの書込み中に入出力エラーが発生した場合
-
putFields
public ObjectOutputStream.PutField putFields() throws IOExceptionストリームに書き込まれる持続フィールドをバッファに格納するために使用されるオブジェクトを取得します。 フィールドは、writeFieldsメソッドが呼び出されたときにストリームに書き込まれます。- 戻り値:
- 直列化可能フィールドを保持しているクラスPutfieldのインスタンス
- スロー:
IOException- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.2
-
writeFields
public void writeFields() throws IOExceptionバッファに格納されたフィールドをストリームに書き込みます。- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合NotActiveException- オブジェクトの状態を書き込むためにクラスのwriteObjectメソッドが呼び出されなかったときに呼び出された場合。- 導入されたバージョン:
- 1.2
-
reset
public void reset() throws IOExceptionResetは、ストリームにすでに書き込まれているオブジェクトの状態を無効にします。 新しいObjectOutputStreamと同じ状態にリセットされます。 ストリームの現在位置にマークが設定され、対応するObjectInputStreamも同じ位置にリセットされます。 以前にストリームに書き込まれたオブジェクトは、すでにストリーム内にあるとは解釈されません。 これらのオブジェクトは、ストリームに再度書き込まれます。- スロー:
IOException- オブジェクトを直列化中にreset()が呼び出された場合。
-
annotateClass
protected void annotateClass(Class<?> cl) throws IOException サブクラスは、このメソッドを実装して、クラスのデータをストリームに保存できるようにすることができます。 デフォルトではこのメソッドは何も行いません。 ObjectInputStream内で対応するメソッドはresolveClassです。 このメソッドは、ストリームの一意のクラスそれぞれについて1回だけ呼び出されます。 その時点でクラス名とシグネチャはすでにストリームに書き込まれています。 このメソッドは、ObjectOutputStreamを自由に使って、適切と判断したクラスの任意の表現(クラス・ファイルのバイトなど)を保存できます。 ObjectInputStreamの対応するサブクラスのresolveClassメソッドは、annotateClassによって書き込まれたデータやオブジェクトを読み込み、使用しなければいけません。- パラメータ:
cl- カスタム・データに注釈を付けるクラス- スロー:
IOException- ベースとなるOutputStreamが例外をスローした場合。
-
annotateProxyClass
protected void annotateProxyClass(Class<?> cl) throws IOException サブクラスはこのメソッドを実装して、ダイナミック・プロキシ・クラスに対する記述子とともにカスタム・データをストリームに格納します。このメソッドはストリームの一意の各プロキシ・クラス記述子について1回だけ呼び出されます。
ObjectOutputStream内のこのメソッドのデフォルト実装は、何も実行しません。ObjectInputStream内で対応するメソッドはresolveProxyClassです。 このメソッドをオーバーライドするObjectOutputStreamの指定されたサブクラスについては、ObjectInputStream内の対応するサブクラスのresolveProxyClassメソッドが、annotateProxyClassが書き込むデータまたはオブジェクトをすべて読み取る必要があります。- パラメータ:
cl- カスタム・データに注釈を付けるプロキシ・クラス- スロー:
IOException- ベースとなるOutputStreamが例外をスローした場合- 導入されたバージョン:
- 1.3
- 関連項目:
-
replaceObject
protected Object replaceObject(Object obj) throws IOException このメソッドは、直列化の際に、ObjectOutputStreamの信頼できるサブクラスが、あるオブジェクトをほかのオブジェクトに置換できるようにします。 オブジェクトの置換は、enableReplaceObjectが呼び出されるまでは行えません。 enableReplaceObjectメソッドは、オブジェクトの置換を要求しているストリームが信頼できるかどうかを調べます。 直列化ストリームに書き込まれる各オブジェクトのうち最初に出現したものは、replaceObjectに渡されます。 それ以降のオブジェクトへの参照は、replaceObjectの元の呼出しによって返されたオブジェクトによって置換されます。 オブジェクトのprivate状態が意図せずに公開されることがないように、replaceObjectを使うのは信頼できるストリームに限定されます。ObjectOutputStream.writeObjectメソッドはObjectタイプのパラメータ(Serializableタイプとは異なる)を取り、直列化可能でないオブジェクトが直列化可能オブジェクトに置き換えられるようにします。
サブクラスがオブジェクトを置換する場合、直列化復元中に補完置換を行うか、または置換されたオブジェクトが参照が格納されるすべてのフィールドと互換性があることを確認する必要があります。 フィールドまたは配列要素の型のサブクラスではない型のオブジェクトは、例外を発生させることによって直列化を中断し、その結果オブジェクトは格納されません。
このメソッドは、各オブジェクトが最初に検出されたときに1回だけ呼び出されます。 これ以後検出されるそのオブジェクトへの参照は、新しいオブジェクトにリダイレクトされます。 このメソッドは、置換されるオブジェクトまたは元のオブジェクトを返すことになります。
Nullは、置換するオブジェクトとして返すことができますが、nullのかわりにオブジェクトが必要になる可能性があるため、元のオブジェクトへの参照を含むクラスで
NullPointerExceptionが発生する可能性があります。- パラメータ:
obj- 置き換えられるオブジェクト- 戻り値:
- 指定されたオブジェクトと置き換えられた代替オブジェクト
- スロー:
IOException- ベースとなるOutputStreamが例外をスローした場合。
-
enableReplaceObject
protected boolean enableReplaceObject(boolean enable) ストリームに書き込まれたオブジェクトの置換をストリームで実行できるようにします。 有効にすると、直列化されるすべてのオブジェクトに対してreplaceObject(java.lang.Object)メソッドがコールされます。- パラメータ:
enable- 直列化されるすべてのオブジェクトに対してreplaceObjectの使用を有効にする場合はtrue- 戻り値:
- このメソッドが呼び出される前の設定
-
writeStreamHeader
protected void writeStreamHeader() throws IOExceptionサブクラスが自身のヘッダーをストリームの前または後ろに追加できるように提供されています。 このメソッドは、マジック番号とバージョン情報をストリームに書き込みます。- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeClassDescriptor
protected void writeClassDescriptor(ObjectStreamClass desc) throws IOException 指定されたクラス記述子をObjectOutputStreamに書き込みます。 クラス記述子はストリームに書き込まれたオブジェクトのクラスを識別する際に使用します。 ObjectOutputStreamのサブクラスでこのメソッドをオーバーライドすることにより、直列化ストリームにクラス記述子を書き込む方法をカスタマイズできます。 ObjectInputStreamの対応するメソッドreadClassDescriptorをオーバーライドして、クラス記述子をそのカスタム・ストリーム表現から再構成する必要があります。 デフォルトでは、このメソッドは「Javaオブジェクト直列化仕様」で定義された形式に従ってクラス記述子を書き込みます。このメソッドを呼び出すことができるのは、ObjectOutputStreamの
useProtocolVersionメソッドを呼び出すことによって設定される古い直列化ストリーム形式をObjectOutputStreamが使用していない場合のみである点に注意してください。 この直列化ストリームが古い形式(PROTOCOL_VERSION_1)を使用している場合、クラス記述子はオーバーライドまたはカスタマイズが不可能な方法で内部的に書き込まれます。- パラメータ:
desc- ストリームに書き込むクラス記述子- スロー:
IOException- 入出力エラーが発生した場合。- 導入されたバージョン:
- 1.3
- 外部仕様
- 関連項目:
-
write
public void write(int val) throws IOException バイトを書き込みます。 このメソッドはバイトが実際に書き込まれるまでブロックします。- 定義:
write、インタフェースDataOutput- 定義:
write、インタフェースObjectOutput- 定義:
write、クラスOutputStream- パラメータ:
val- ストリームに書き込まれるバイト- スロー:
IOException- 入出力エラーが発生した場合。
-
write
public void write(byte[] buf) throws IOException バイト配列を書き込みます。 このメソッドはバイトが実際に書き込まれるまでブロックします。- 定義:
write、インタフェースDataOutput- 定義:
write、インタフェースObjectOutput- オーバーライド:
write、クラスOutputStream- パラメータ:
buf- 書き込まれるデータ- スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
write
public void write(byte[] buf, int off, int len) throws IOException バイト配列の一部を書き込みます。- 定義:
write、インタフェースDataOutput- 定義:
write、インタフェースObjectOutput- オーバーライド:
write、クラスOutputStream- パラメータ:
buf- 書き込まれるデータoff- データ内の開始オフセットlen- 書き込まれるバイト数- スロー:
IOException- 入出力エラーが発生した場合。 特に、出力ストリームが閉じられると、IOExceptionがスローされる。IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、あるいはlenがb.length - offより大きい場合
-
flush
public void flush() throws IOExceptionストリームをフラッシュします。 このメソッドは、バッファリングされているすべての出力バイトを書き込んで、ベースとなるストリームを通してフラッシュします。- 定義:
flush、インタフェースFlushable- 定義:
flush、インタフェースObjectOutput- オーバーライド:
flush、クラスOutputStream- スロー:
IOException- 入出力エラーが発生した場合。
-
drain
protected void drain() throws IOExceptionObjectOutputStream内のバッファリングされているデータをすべて排出します。 フラッシュと似ていますが、ベースとなるストリームにフラッシュを伝播しません。- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
close
public void close() throws IOExceptionストリームを閉じます。 ストリームに関連するすべてのリソースを解放するために、このメソッドを呼び出す必要があります。- 定義:
close、インタフェースAutoCloseable- 定義:
close、インタフェースCloseable- 定義:
close、インタフェースObjectOutput- オーバーライド:
close、クラスOutputStream- スロー:
IOException- 入出力エラーが発生した場合。
-
writeBoolean
public void writeBoolean(boolean val) throws IOException booleanを書き込みます。- 定義:
writeBoolean、インタフェースDataOutput- パラメータ:
val- 書き込まれるboolean- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeByte
public void writeByte(int val) throws IOException 8ビットbyteを書き込みます。- 定義:
writeByte、インタフェースDataOutput- パラメータ:
val- 書き込まれるバイト値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeShort
public void writeShort(int val) throws IOException 16ビットshortを書き込みます。- 定義:
writeShort、インタフェースDataOutput- パラメータ:
val- 書き込まれるshort値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeChar
public void writeChar(int val) throws IOException 16ビットcharを書き込みます。- 定義:
writeChar、インタフェースDataOutput- パラメータ:
val- 書き込まれるchar値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeInt
public void writeInt(int val) throws IOException 32ビットintを書き込みます。- 定義:
writeInt、インタフェースDataOutput- パラメータ:
val- 書き込まれるint値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeLong
public void writeLong(long val) throws IOException 64ビットのlongを書き込みます。- 定義:
writeLong、インタフェースDataOutput- パラメータ:
val- 書き込まれるlong値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeFloat
public void writeFloat(float val) throws IOException 32ビットfloatを書き込みます。- 定義:
writeFloat、インタフェースDataOutput- パラメータ:
val- 書き込まれるfloat値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeDouble
public void writeDouble(double val) throws IOException 64ビットdoubleを書き込みます。- 定義:
writeDouble、インタフェースDataOutput- パラメータ:
val- 書き込まれるdouble値- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeBytes
public void writeBytes(String str) throws IOException Stringをバイトの列として書き込みます。- 定義:
writeBytes、インタフェースDataOutput- パラメータ:
str- 書き込まれるバイトの文字列- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeChars
public void writeChars(String str) throws IOException Stringをcharの列として書き込みます。- 定義:
writeChars、インタフェースDataOutput- パラメータ:
str- 書き込まれるcharの文字列- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-
writeUTF
public void writeUTF(String str) throws IOException このStringのプリミティブ・データを修正UTF-8形式で書き込みます。 ストリームにStringをプリミティブ・データとして書き込むことと、Objectとして書き込むことには大きな違いがあります。 writeObjectによって書き込まれるStringのインスタンスは、最初はStringとしてストリームに書き込まれます。 それ以降のwriteObject()の呼出しは、文字列への参照をストリームに書き込みます。- 定義:
writeUTF、インタフェースDataOutput- パラメータ:
str- 書き込まれる文字列- スロー:
IOException- ベースとなるストリームの書込み中に入出力エラーが発生した場合
-