|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface DataOutput
DataOutput
インタフェースは、Java のプリミティブ型があればそのデータを一連のバイトに変換してバイナリストリームに書き込むために提供されています。また、String
を修正 UTF-8 形式に変換して結果の一連のバイトを書き込む機能もあります。
このインタフェースのバイトを書き込むすべてのメソッドでは、なんらかの理由でバイトを書き込めない場合は、通常、IOException
がスローされます。
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 バイトを出力ストリームに書き込みます。 |
メソッドの詳細 |
---|
void write(int b) throws IOException
b
の下位 8 ビットを出力ストリームに書き込みます。b
の上位 24 ビットは無視されます。
b
- 書き込むバイト
IOException
- 入出力エラーが発生した場合void write(byte[] b) throws IOException
b
のすべてのバイトを書き込みます。b
が null
の場合は、NullPointerException
がスローされます。b.length
がゼロの場合、書き込まれるバイトはありません。そうでない場合は、まずバイト b[0]
、次に b[1]
と順次書き込まれ、最後にバイト b[b.length-1]
が書き込まれます。
b
- データ
IOException
- 入出力エラーが発生した場合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
- 入出力エラーが発生した場合void writeBoolean(boolean v) throws IOException
boolean
値を出力ストリームに書き込みます。引数 v
が true
の場合は、値 (byte)1
が書き込まれます。v
が false
の場合は、値 (byte)0
が書き込まれます。このメソッドが書き込むバイトは、DataInput
インタフェースの readBoolean
メソッドによって読み込まれます。次に、readBoolean
メソッドにより、v
に等しい boolean
が返されます。
v
- 書き込まれる boolean
IOException
- 入出力エラーが発生した場合void writeByte(int v) throws IOException
v
の下位 8 ビットを出力ストリームに書き込みます。v
の上位 24 ビットは無視されます。これは writeByte
が、整数引数の write
とまったく同じであることを意味します。このメソッドが書き込むバイトは、DataInput
インタフェースの readByte
メソッドによって読み込まれます。次に、readByte
メソッドにより、(byte)v
に等しい byte
が返されます。
v
- 書き込まれるバイト値
IOException
- 入出力エラーが発生した場合void writeShort(int v) throws IOException
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
このメソッドが書き込むバイトは、DataInput
インタフェースの readShort
メソッドによって読み込まれます。次に、readShort
メソッドにより、(short)v
に等しい short
が返されます。
v
- 書き込まれる short
値
IOException
- 入出力エラーが発生した場合void writeChar(int v) throws IOException
char
値を出力ストリームに書き込みます。次に示すバイト値が、この順番で書き込まれます。
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
このメソッドが書き込むバイトは、DataInput
インタフェースの readChar
メソッドによって読み込まれます。次に、readChar
メソッドにより、(char)v
に等しい char
が返されます。
v
- 書き込まれる char
値
IOException
- 入出力エラーが発生した場合void writeInt(int v) throws IOException
int
値を出力ストリームに書き込みます。次に示すバイト値が、この順番で書き込まれます。
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
このメソッドが書き込むバイトは、DataInput
インタフェースの readInt
メソッドによって読み込まれます。readInt
メソッドは次に、v
に等しい int
を返します。
v
- 書き込まれる int
値
IOException
- 入出力エラーが発生した場合void writeLong(long v) throws IOException
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
メソッドによって読み込まれます。次に、readLong
メソッドにより、v
に等しい long
が返されます。
v
- 書き込まれる long
値
IOException
- 入出力エラーが発生した場合void writeFloat(float v) throws IOException
float
値を出力ストリームに書き込みます。これは、最初にこの float
値を Float.floatToIntBits
メソッドと同じ方法で int
に変換し、その後 int
値を writeInt
メソッドと同じ方法で書き込むようにして行われます。このメソッドが書き込むバイトは、DataInput
インタフェースの readFloat
メソッドによって読み込まれます。次に、readFloat
メソッドにより、v
に等しい float
が返されます。
v
- 書き込まれる float
値
IOException
- 入出力エラーが発生した場合void writeDouble(double v) throws IOException
double
値を出力ストリームに書き込みます。このためには、まず Double.doubleToLongBits
メソッドとまったく同じ方法でこの double
値を long
に変換してから、writeLong
メソッドとまったく同じ方法で long
値を書き込みます。このメソッドが書き込むバイトは、DataInput
インタフェースの readDouble
メソッドによって読み込まれます。次に、readDouble
メソッドにより、v
に等しい double
が返されます。
v
- 書き込まれる double
値
IOException
- 入出力エラーが発生した場合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
- 入出力エラーが発生した場合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
- 入出力エラーが発生した場合void writeUTF(String s) throws IOException
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
メソッドによって読み込まれます。次に、readUTF
メソッドにより、s
に等しい String
が返されます。
s
- 書き込まれる文字列の値
IOException
- 入出力エラーが発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。