全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.io.InputStream | +----java.io.FilterInputStream | +----java.io.DataInputStream
データ入力ストリームとデータ出力ストリームは、UTF-8を若干修正した形式の Unicodeで文字列を表現します。(詳細については: X/Open Company Ltd., "File System Safe UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, Document Number: P316.を参照してください。これに関する情報は ISO/IEC 10646, Annex P. にも現れます。)
'\u0001'
から '\u007F'
までの範囲の文字は全部1個のバイトで表現されます。
0 | ビット 0-7 |
null 文字 '\u0000'
と '\u0080'
から '\u07FF'
までの範囲の文字は2個のバイトで表現されます。
1 | 1 | 0 | ビット 6-10 |
1 | 0 | ビット 0-5 |
'\u0800'
から '\uFFFF'
までの範囲の文字は3個のバイトで表現されます。
1 | 1 | 1 | 0 | ビット 12-15 |
1 | 0 | ビット 6-11 | ||
1 | 0 | ビット 0-5 |
「標準」 UTF-8 形式と、この形式とは次の二つの点で異なります。
'\u0000'
は1バイトではなく、2バイト形式にエンコードされます。これにより、エンコードされた文字列がその中に埋め込まれた nullをもつことはありません。
byte.length
バイトのデータをバイト配列に読み込む。
len
バイトのデータをバイト配列に読み込む。
boolean
を読み込む。
double
データを読み込む。
float
データを読み込む。
b.length
バイトのデータをバイト配列に読み込む。
len
バイトのデータをバイト配列に読み込む。
n
バイトをスキップする。
public DataInputStream(InputStream in)
public final int read(byte b[]) throws IOException
byte.length
バイトのデータをバイト配列に読み込みます。 このメソッドは何らかの入力が可能になるまでブロックします。
DataInputStream
の read
メソッドはその下層ストリームの read
メソッドを3種類の引数 b
、 0
、および
b.length
を指定して呼び出し、そのメソッドの返り値を返します。
-1
。
public final int read(byte b[], int off, int len) throws IOException
len
バイトのデータをバイト配列に読み込みます。 このメソッドは何らかの入力が可能になるまでブロックします。
DataInputStream
の read
メソッドはその下層ストリームの read
メソッドを同じ引数を指定して呼び出し、何であれこのメソッドが返り値を返します。
-1
。
public final void readFully(byte b[]) throws IOException
b.length
バイトのデータをバイト配列に読み込みます。 このメソッドは全部のバイト数を読み終わるまで何度でも下層ストリームから読み込もうとします。このメソッドは全てのバイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public final void readFully(byte b[], int off, int len) throws IOException
len
バイトのデータをバイト配列に読み込みます。 このメソッドは全部のバイト数を読み終わるまで何度でも下層ストリームから読み込もうとします。このメソッドは全てのバイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public final int skipBytes(int n) throws IOException
n
バイトをスキップします。 このメソッドは全てのバイトがスキップされるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
n
。
public final boolean readBoolean() throws IOException
boolean
を読み込みます。このメソッドは下層入力ストリームから1個のバイトを読み込みます。その値が 0
ならば false
を表し、それ以外の値ならば true
を表します。このメソッドは1バイト読み込むか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
boolean
値。
public final byte readByte() throws IOException
b
が 0 <= b
<= 255 ならば、得られる結果は、次のようになります。
(byte)(b)
このメソッドは1バイト読み込むか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
byte
として返す。
public final int readUnsignedByte() throws IOException
public final short readShort() throws IOException
b1
、b2
とし、それぞれが 0
から 255
の値をとるものとすれば、得られる結果は次のようになります。
(short)((b1 << 8) | b2)
このメソッドは 2バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public final int readUnsignedShort() throws IOException
b1
、b2
とし、それぞれが 0
から 255
の値をとるものとすれば、得られる結果は次のようになります。
(b1 << 8) | b2
このメソッドは 2バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public final char readChar() throws IOException
b1
、b2
とし、 0 <= b1
、 b1
<= 255 であるならば、得られる結果は次のようになります。
(char)((b1 << 8) | b2)
このメソッドは 2バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public final int readInt() throws IOException
b1
、b2
、 b3
、および b4
とし、 0 <= b1
、 b2
、b3
、 b4
<= 255 であるならば得られる結果は次のようになります。
(b1 << 24) | (b2 << 16) + (b3 << 8) +b4
このメソッドは 4バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
int
と解釈した値を返す。
public final long readLong() throws IOException
b1
、b2
、b3
、b4
、 b5
、b6
、b7
、および b8
とすると、
0 <= b1, b2, b3, b4, b5, b6, b7, b8 <= 255,
得られる結果は次のようになります。
((long)b1 << 56) + ((long)b2 << 48) + ((long)b3 << 40) + ((long)b4 << 32) + ((long)b5 << 24) + (b6 << 16) + (b7 << 8) + b8
このメソッドは 8バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
long
と解釈した値を返す。
public final float readFloat() throws IOException
float
を読み込みます。このメソッドは readInt
メソッドと同じ方法で int
を読み込み、この int
を Float
クラスの intBitsToFloat
メソッドを使って float
へ変換します。
このメソッドは 4バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
float
と解釈した値を返す。
public final double readDouble() throws IOException
double
を読み込みます。このメソッドは readLong
メソッドと同じ方法で long
を読み込み、この long
を Double
クラスの longBitsToDouble
メソッドを使って double
へ変換します。
このメソッドは 8バイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
double
と解釈した値を返す。
public final String readLine() throws IOException
BufferedReader.readLine()
メソッドを経由することです。 行を読み込むために DataInputStream
クラスを使用するプログラムは、次の形式のコードを置換して BufferedReader
クラスを使用するために変換することができます:
上記を以下で置換:DataInputStream d = new DataInputStream(in);
BufferedReader d = new BufferedReader(new InputStreamReader(in));
テキスト行は復帰文字 ('\r'
)、改行文字('\n'
)、復帰文字と改行文字を続けた文字、または入力ストリームの終了で終端さされます。返される文字列にはこれらの行終端記号は含まれません。
このメソッドは改行文字が読み込まれるか、復帰文字とそれに続くバイト(改行文字かどうかのチェック)が読み込まれるか、ストリームの終了が検出されるか、または例外がスローされるまでブロックします。
public final String readUTF() throws IOException
readUTF(this)
を呼び出します。
この形式の更に詳しい説明については、 readUTF(java.io.DataInput)
の項を参照してください。
このメソッドは全てのバイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
public static final String readUTF(DataInput in) throws IOException
最初の 2バイトは readUnsignedShort
と同じ方法で読み込まれます。この値はそれに続くエンコードされた文字列に含まれるバイト数を示します(文字列の長さではありません)。続くバイトは UTF-8形式でエンコードされた文字列と解釈され、文字型に変換されます。
このメソッドは全部のバイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス