-
- 既知のすべてのサブインタフェース:
ImageOutputStream
,ObjectOutput
- 既知のすべての実装クラス:
DataOutputStream
,FileCacheImageOutputStream
,FileImageOutputStream
,ImageOutputStreamImpl
,MemoryCacheImageOutputStream
,ObjectOutputStream
,RandomAccessFile
public interface DataOutput
DataOutput
インタフェースは、Javaのプリミティブ型があればそのデータを一連のバイトに変換してバイナリ・ストリームに書き込むために提供されています。 また、String
を修正UTF-8形式に変換して結果の一連のバイトを書き込む機能もあります。このインタフェースのバイトを書き込むすべてのメソッドでは、なんらかの理由でバイトを書き込めない場合は、通常、
IOException
がスローされます。- 導入されたバージョン:
- 1.0
- 関連項目:
DataInput
,DataOutputStream
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 void
write(byte[] b)
出力ストリームに配列b
のすべてのバイトを書き込みます。void
write(byte[] b, int off, int len)
配列b
からlen
バイトを順番に出力ストリームに書き込みます。void
write(int b)
引数b
の下位8ビットを出力ストリームに書き込みます。void
writeBoolean(boolean v)
1つのboolean
値をこの出力ストリームに書き込みます。void
writeByte(int v)
引数v
の下位8ビットを出力ストリームに書き込みます。void
writeBytes(String s)
文字列を出力ストリームに書き込みます。void
writeChar(int v)
2バイトで構成されるchar
値を出力ストリームに書き込みます。void
writeChars(String s)
文字列s
内の各文字を、1文字ごとに2バイトずつ順番に書き込みます。void
writeDouble(double v)
8バイトで構成されるdouble
値を出力ストリームに書き込みます。void
writeFloat(float v)
4バイトで構成されるfloat
値を出力ストリームに書き込みます。void
writeInt(int v)
4バイトで構成されるint
値を出力ストリームに書き込みます。void
writeLong(long v)
8バイトで構成されるlong
値を出力ストリームに書き込みます。void
writeShort(int v)
引数の値を表す2バイトを出力ストリームに書き込みます。void
writeUTF(String s)
2バイトの長さ情報を出力ストリームに書き込みます。その後ろに、文字列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
- 入出力エラーが発生した場合。
-
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
- 入出力エラーが発生した場合。
-
-