全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
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形式でエンコードされた文字列と解釈され、文字型に変換されます。
このメソッドは全部のバイトを読み終わるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス