- 既知のすべてのサブインタフェース:
- ImageOutputStream,- ObjectOutput
- 既知のすべての実装クラス:
- DataOutputStream,- FileCacheImageOutputStream,- FileImageOutputStream,- ImageOutputStreamImpl,- MemoryCacheImageOutputStream,- ObjectOutputStream,- RandomAccessFile
public interface DataOutput
DataOutputインタフェースは、Javaのプリミティブ型があればそのデータを一連のバイトに変換してバイナリ・ストリームに書き込むために提供されています。 また、Stringを修正UTF-8形式に変換して結果の一連のバイトを書き込む機能もあります。 
 
 このインタフェースのバイトを書き込むすべてのメソッドでは、なんらかの理由でバイトを書き込めない場合は、通常、IOExceptionがスローされます。
- 導入されたバージョン:
- 1.0
- 関連項目:
- DataInput,- DataOutputStream
- 
メソッドのサマリー修飾子と型 メソッド 説明 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バイトを出力ストリームに書き込みます。voidwriteUTF(String s)2バイトの長さ情報を出力ストリームに書き込みます。その後ろに、文字列s内の各文字の修正UTF-8表現が続きます。
- 
メソッドの詳細- 
writevoid write(int b) throws IOException引数bの下位8ビットを出力ストリームに書き込みます。bの上位24ビットは無視されます。- パラメータ:
- b- 書き込まれるバイト。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writevoid write(byte[] b) throws IOException出力ストリームに配列bのすべてのバイトを書き込みます。bがnullの場合、NullPointerExceptionがスローされます。b.lengthがゼロの場合、バイトは書き込まれません。 それ以外の場合は、最初にバイトb[0]が書き込まれ、次にb[1]という具合に続き、最後に書き込まれるバイトはb[b.length-1]になります。- パラメータ:
- b- データ。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writevoid 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- 入出力エラーが発生した場合。
 
- 
writeBooleanvoid writeBoolean(boolean v) throws IOException1つのboolean値をこの出力ストリームに書き込みます。 引数vがtrueの場合は値(byte)1が書き込まれ、vがfalseの場合は値(byte)0が書き込まれます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadBooleanメソッドによって読み取られ、そのあとに、vに相当するbooleanが返されます。- パラメータ:
- v- 書き込まれるboolean。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeBytevoid writeByte(int v) throws IOException引数vの8つの下位ビットを出力ストリームに書き込みます。vの上位24ビットは無視されます。 これはwriteByteが、整数引数のwriteとまったく同じであることを意味します。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadByteメソッドによって読み取られ、そのあとに、(byte)vに相当するbyteが返されます。- パラメータ:
- v- 書き込まれるバイト値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeShortvoid writeShort(int v) throws IOException引数の値を表す2バイトを出力ストリームに書き込みます。 次に示すバイト値が、この順番で書き込まれます。(byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース DataInputのreadShortメソッドによって読み取られ、(short)vに等しいshortが返されます。- パラメータ:
- v- 書き込まれる- short値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeCharvoid writeChar(int v) throws IOException2バイトで構成されるchar値を出力ストリームに書き込みます。 次に示すバイト値が、この順番で書き込まれます。(byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース DataInputのreadCharメソッドによって読み取られ、(char)vに等しいcharが返されます。- パラメータ:
- v- 書き込まれる- char値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeIntvoid writeInt(int v) throws IOException4バイトで構成されるint値を出力ストリームに書き込みます。 次に示すバイト値が、この順番で書き込まれます。(byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)このメソッドによって書き込まれたバイトは、インタフェース DataInputのreadIntメソッドによって読み取られ、vに等しいintが返されます。- パラメータ:
- v- 書き込まれる- int値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeLongvoid writeLong(long v) throws IOException8バイトで構成される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- 入出力エラーが発生した場合。
 
- 
writeFloatvoid writeFloat(float v) throws IOException4バイトで構成されるfloat値を出力ストリームに書き込みます。 これは、最初にこのfloat値をFloat.floatToIntBitsメソッドと同じ方法でintに変換し、次にint値をwriteIntメソッドと同じ方法で書き込むようにして行われます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadFloatメソッドによって読み取られ、そのあとに、vに相当するfloatが返されます。- パラメータ:
- v- 書き込まれる- float値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeDoublevoid writeDouble(double v) throws IOException8バイトで構成されるdouble値を出力ストリームに書き込みます。 これは、最初にこのdouble値をDouble.doubleToLongBitsメソッドと同じ方法でlongに変換し、次にlong値をwriteLongメソッドと同じ方法で書き込むようにして行われます。 このメソッドによって書き込まれたバイトは、インタフェースDataInputのreadDoubleメソッドによって読み取られ、そのあとに、vに相当するdoubleが返されます。- パラメータ:
- v- 書き込まれる- double値。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeBytesvoid 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- 入出力エラーが発生した場合。
 
- 
writeCharsvoid 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- 入出力エラーが発生した場合。
 
- 
writeUTFvoid writeUTF(String s) throws IOException2バイトの長さ情報を出力ストリームに書き込みます。その後ろに、文字列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- 入出力エラーが発生した場合。
 
 
-