インタフェースDataOutput
- 既知のすべてのサブインタフェース:
ImageOutputStream,ObjectOutput
- 既知のすべての実装クラス:
DataOutputStream,FileCacheImageOutputStream,FileImageOutputStream,ImageOutputStreamImpl,MemoryCacheImageOutputStream,ObjectOutputStream,RandomAccessFile
DataOutputインタフェースは、Javaのプリミティブ型があればそのデータを一連のバイトに変換してバイナリ・ストリー に書き込むために提供されています。 また、Stringを修正UTF-8形式に変換して結果の一連のバイトを書き込む機能もあります。
このインタフェースのバイトを書き込むすべてのメソッドでは、なんらかの理由でバイトを書き込めない 合は、通常、IOExceptionがスローされます。
- 導入されたバージョン:
- 1.0
- 関連 目:
-
メソッドのサマリー
修飾子と型メソッド説明voidwrite(byte[] b) 出力ストリー に配列bのすべてのバイトを書き込みます。voidwrite(byte[] b, int off, int len) 配列bからlenバイトを 番に出力ストリー に書き込みます。voidwrite(int b) 引数bの下位8ビットを出力ストリー に書き込みます。voidwriteBoolean(boolean v) 1つのboolean値をこの出力ストリー に書き込みます。voidwriteByte(int v) 引数vの8つの下位ビットを出力ストリー に書き込みます。voidwriteBytes(String s) 文字列を出力ストリー に書き込みます。voidwriteChar(int v) 2バイトで構成されるchar値を出力ストリー に書き込みます。voidwriteChars(String s) 文字列s内の各文字を、1文字ごとに2バイトずつ 番に書き込みます。voidwriteDouble(double v) 8バイトで構成されるdouble値を出力ストリー に書き込みます。voidwriteFloat(float v) 4バイトで構成されるfloat値を出力ストリー に書き込みます。voidwriteInt(int v) 4バイトで構成されるint値を出力ストリー に書き込みます。voidwriteLong(long v) 8バイトで構成されるlong値を出力ストリー に書き込みます。voidwriteShort(int v) 引数の値を表す2バイトを出力ストリー に書き込みます。void2バイトの長さ情 を出力ストリー に書き込みます。その後ろに、文字列s内の各文字の修正UTF-8表現が続きます。
-
メソッドの詳細
-
write
void write(int b) throws IOException 引数bの下位8ビットを出力ストリー に書き込みます。bの上位24ビットは無視されます。- パラメータ:
b- 書き込まれるバイト。- スロー:
IOException- 入出力エラーが発生した 合。
-
write
void write(byte[] b) throws IOException 出力ストリー に配列bのすべてのバイトを書き込みます。bがnullの 合、NullPointerExceptionがスローされます。b.lengthがゼロの 合、バイトは書き込まれません。 それ以外の 合は、最初にバイトb[0]が書き込まれ、次にb[1]という具合に続き、最後に書き込まれるバイトはb[b.length-1]になります。- パラメータ:
b- データ。- スロー:
IOException- 入出力エラーが発生した 合。
-
write
void write(byte[] b, int off, int len) throws IOException 配列bからlenバイトを 番に出力ストリー に書き込みます。bがnullの 合、NullPointerExceptionがスローされます。offが の 合、lenが の 合、またはoff+lenが配列bの長さよりも大きい 合は、IndexOutOfBoundsExceptionがスローされます。lenがゼロの 合、バイトは書き込まれません。 それ以外の 合は、最初にバイトb[off]が書き込まれ、次にb[off+1]という具合に続き、最後に書き込まれるバイトはb[off+len-1]になります。- パラメータ:
b- データ。off- データの開始オフセット。len- 書き込むバイト数。- スロー:
IOException- 入出力エラーが発生した 合。IndexOutOfBoundsException-offが の値の 合、lenが の値の 合、あるいはlenがb.length - offより大きい 合
-
writeBoolean
void writeBoolean(boolean v) throws IOException 1つのboolean値をこの出力ストリー に書き込みます。 引数vがtrueの 合は値(byte)1が書き込まれ、vがfalseの 合は値(byte)0が書き込まれます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadBooleanメソッドによって読み取られ、そのあとに、vに相当するbooleanが返されます。- パラメータ:
v- 書き込まれるboolean。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeByte
void writeByte(int v) throws IOException 引数vの8つの下位ビットを出力ストリー に書き込みます。vの上位24ビットは無視されます。 これはwriteByteが、整数引数のwriteとまったく同じであることを意味します。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadByteメソッドによって読み取られ、そのあとに、(byte)vに相当するbyteが返されます。- パラメータ:
v- 書き込まれるバイト値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeShort
void writeShort(int v) throws IOException 引数の値を表す2バイトを出力ストリー に書き込みます。 次に示すバイト値が、この 番で書き込まれます。(byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース
DataInputのreadShortメソッドによって読み取られ、(short)vに等しいshortが返されます。- パラメータ:
v- 書き込まれるshort値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeChar
void writeChar(int v) throws IOException 2バイトで構成されるchar値を出力ストリー に書き込みます。 次に示すバイト値が、この 番で書き込まれます。(byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース
DataInputのreadCharメソッドによって読み取られ、(char)vに等しいcharが返されます。- パラメータ:
v- 書き込まれるchar値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeInt
void writeInt(int v) throws IOException 4バイトで構成されるint値を出力ストリー に書き込みます。 次に示すバイト値が、この 番で書き込まれます。(byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース
DataInputのreadIntメソッドによって読み取られ、vに等しいintが返されます。- パラメータ:
v- 書き込まれるint値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeLong
void writeLong(long v) throws IOException 8バイトで構成されるlong値を出力ストリー に書き込みます。 次に示すバイト値が、この 番で書き込まれます。(byte)(0xff & (v >> 56)) (byte)(0xff & (v >> 48)) (byte)(0xff & (v >> 40)) (byte)(0xff & (v >> 32)) (byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース
DataInputのreadLongメソッドによって読み取られ、vに等しいlongが返されます。- パラメータ:
v- 書き込まれるlong値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeFloat
void writeFloat(float v) throws IOException 4バイトで構成されるfloat値を出力ストリー に書き込みます。 これは、最初にこのfloat値をFloat.floatToIntBitsメソッドと同じ方法でintに変換し、次にint値をwriteIntメソッドと同じ方法で書き込むようにして行われます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadFloatメソッドによって読み取られ、そのあとに、vに相当するfloatが返されます。- パラメータ:
v- 書き込まれるfloat値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeDouble
void writeDouble(double v) throws IOException 8バイトで構成されるdouble値を出力ストリー に書き込みます。 これは、最初にこのdouble値をDouble.doubleToLongBitsメソッドと同じ方法でlongに変換し、次にlong値をwriteLongメソッドと同じ方法で書き込むようにして行われます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadDoubleメソッドによって読み取られ、そのあとに、vに相当するdoubleが返されます。- パラメータ:
v- 書き込まれるdouble値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeBytes
void writeBytes(String s) throws IOException 文字列を出力ストリー に書き込みます。 文字列sの各文字が 番に取り出され、1バイトが出力ストリー に書き込まれます。sがnullの 合、NullPointerExceptionがスローされます。s.lengthがゼロの 合、バイトは書き込まれません。 それ以外の 合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。 各文字については、writeByteメソッドとまったく同じ方法で、1バイト、つまり下位バイトが書き込まれます。 文字列内の各文字の上位8ビットは無視されます。- パラメータ:
s- 書き込まれるバイトの文字列。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeChars
void writeChars(String s) throws IOException 文字列s内の各文字を、1文字ごとに2バイトずつ 番に書き込みます。sがnullの 合、NullPointerExceptionがスローされます。s.lengthがゼロの 合、書き込まれる文字はありません。 それ以外の 合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。 各文字については、writeCharメソッドとまったく同じ方法で、上位バイトを先にして2バイトが実際に書き込まれます。- パラメータ:
s- 書き込まれる文字列値。- スロー:
IOException- 入出力エラーが発生した 合。
-
writeUTF
void writeUTF(String s) throws IOException 2バイトの長さ情 を出力ストリー に書き込みます。その後ろに、文字列s内の各文字の修正UTF-8表現が続きます。sがnullの 合、NullPointerExceptionがスローされます。 文字列s内の各文字は、文字の値に基づいて、1、2、または3バイトのグループに変換されます。文字
cが\u0001-\u007fの範囲にある 合、次のような1バイトで表現されます。(byte)c
文字
cが\u0000の 合や、\u0080-\u07ffの範囲にある 合には、次の 序で書き込まれる2バイトによって表されます。(byte)(0xc0 | (0x1f & (c >> 6))) (byte)(0x80 | (0x3f & c))文字
cが\u0800-uffffの範囲にある 合、次の 序で書き込まれる3バイトによって表されます。(byte)(0xe0 | (0x0f & (c >> 12))) (byte)(0x80 | (0x3f & (c >> 6))) (byte)(0x80 | (0x3f & c))まず、
sのすべての文字を表すのに必要な総バイト数が計算されます。 この数値が65535を超える 合は、UTFDataFormatExceptionがスローされます。 それ以外の 合は、この長さがwriteShortメソッドとまったく同じ方法で出力ストリー に書き込まれます。次に、文字列s内の各文字の1、2、または3バイト表現が書き込まれます。このメソッドによって書き込まれたバイトは、インタフェース
DataInputのreadUTFメソッドによって読み取られ、sに等しいStringが返されます。- パラメータ:
s- 書き込まれる文字列値。- スロー:
IOException- 入出力エラーが発生した 合。
-