インタフェース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- 入出力エラーが発生した場合。
-