public class DataInputStream extends FilterInputStream implements DataInput
DataInputStream は、マルチスレッドアクセスに対して必ずしも安全ではありません。スレッドの安全性はこのクラスのメソッドを使用するユーザーによってオプションで保証されます。
DataOutputStream
in
コンストラクタと説明 |
---|
DataInputStream(InputStream in)
指定されたベースとなる InputStream を使用する DataInputStream を作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
int |
read(byte[] b)
格納されている入力ストリームから数バイトを読み込み、それをバッファー配列
b に格納します。 |
int |
read(byte[] b, int off, int len)
最大
len バイトのデータを、格納されている入力ストリームからバイト配列に読み込みます。 |
boolean |
readBoolean()
DataInput の readBoolean メソッドの汎用規約を参照してください。 |
byte |
readByte()
DataInput の readByte メソッドの汎用規約を参照してください。 |
char |
readChar()
DataInput の readChar メソッドの汎用規約を参照してください。 |
double |
readDouble()
DataInput の readDouble メソッドの汎用規約を参照してください。 |
float |
readFloat()
DataInput の readFloat メソッドの汎用規約を参照してください。 |
void |
readFully(byte[] b)
DataInput の readFully メソッドの汎用規約を参照してください。 |
void |
readFully(byte[] b, int off, int len)
DataInput の readFully メソッドの汎用規約を参照してください。 |
int |
readInt()
DataInput の readInt メソッドの汎用規約を参照してください。 |
String |
readLine()
非推奨。
このメソッドでは、バイトから文字への変換が正しく行われません。JDK 1.1 以降、テキスト行を読み込むには、
BufferedReader.readLine() メソッドを使うことが推奨されています。行を読み込むのに DataInputStream クラスを使うプログラムを、BufferedReader クラスを使うように変換するには、次の形式のコードを、
次の形式のコードで置き換えます。DataInputStream d = new DataInputStream(in); BufferedReader d = new BufferedReader(new InputStreamReader(in)); |
long |
readLong()
DataInput の readLong メソッドの汎用規約を参照してください。 |
short |
readShort()
DataInput の readShort メソッドの汎用規約を参照してください。 |
int |
readUnsignedByte()
DataInput の readUnsignedByte メソッドの汎用規約を参照してください。 |
int |
readUnsignedShort()
DataInput の readUnsignedShort メソッドの汎用規約を参照してください。 |
String |
readUTF()
DataInput の readUTF メソッドの汎用規約を参照してください。 |
static String |
readUTF(DataInput in)
|
int |
skipBytes(int n)
DataInput の skipBytes メソッドの汎用規約を参照してください。 |
available, close, mark, markSupported, read, reset, skip
public DataInputStream(InputStream in)
in
- 指定された入力ストリームpublic final int read(byte[] b) throws IOException
b
に格納します。実際に読み込まれたバイト数は整数として返されます。このメソッドは、入力データが読み込めるようになるか、ファイルの終わりが検出されるか、あるいは例外がスローされるまでブロックします。
b
が null の場合、NullPointerException
がスローされます。b
の長さがゼロの場合、バイトは読み込まれず、0
が返されます。それ以外の場合は、少なくとも 1 バイトを読み込もうとします。ストリームがファイルの終わりに達したために読み込むバイトがない場合は値 -1
が返されます。それ以外の場合は、少なくとも 1 バイトが読み込まれ、b
に格納されます。
最初に読み込まれたバイトは要素 b[0]
に格納され、次のバイトは b[1]
に格納され、それ以降も同様に続きます。読み込まれるバイト数の上限は b
の長さと同じです。実際に読み込まれるバイト数を k
とすると、これらのバイトは要素 b[0]
から b[k-1]
に格納され、要素 b[k]
から b[b.length-1]
は影響を受けません。
read(b)
メソッドの効果は、次と同じです。
read(b, 0, b.length)
read
、クラス: FilterInputStream
b
- データの読み込み先のバッファー。-1
。IOException
- 最初のバイトを読み込めない理由がファイルの終わりに達したからではない場合、ストリームが閉じられており、ベースとなる入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
, InputStream.read(byte[], int, int)
public final int read(byte[] b, int off, int len) throws IOException
len
バイトのデータを、格納されている入力ストリームからバイト配列に読み込みます。len
までのバイトの読み込みが試行されますが、読み込まれるバイト数はもっと少ない場合もあり、0 の場合もあります。実際に読み込まれたバイト数は整数として返されます。
このメソッドは、入力データが読み込めるようになるか、ファイルの終わりが検出されるか、あるいは例外がスローされるまでブロックします。
len
がゼロの場合、バイトは読み込まれず、0
が返されます。それ以外の場合は、少なくとも 1 バイトを読み込もうとします。ストリームがファイルの終わりに達したために読み込むバイトがない場合は値 -1
が返されます。それ以外の場合は、少なくとも 1 バイトが読み込まれ、b
に格納されます。
最初に読み込まれたバイトは要素 b[off]
に格納され、次のバイトは b[off+1]
に格納され、それ以降も同様に続きます。読み込まれるバイト数の上限は len
と同じです。実際に読み込まれるバイト数を k とすると、これらのバイトは要素 b[off]
- b[off+
k-1]
に格納され、要素 b[off+
k]
- b[off+len-1]
は影響を受けません。
すべての場合に、要素 b[0]
- b[off]
および要素 b[off+len]
- b[b.length-1]
は影響を受けません。
read
、クラス: FilterInputStream
b
- データの読み込み先のバッファー。off
- 転送先配列 b
の開始オフセットlen
- 読み込まれる最大バイト数。-1
。NullPointerException
- b
が null
である場合。IndexOutOfBoundsException
- off
が負の値の場合、len
が負の値の場合、あるいは len
が b.length - off
より大きい場合IOException
- 最初のバイトを読み込めない理由がファイルの終わりに達したからではない場合、ストリームが閉じられており、ベースとなる入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
, InputStream.read(byte[], int, int)
public final void readFully(byte[] b) throws IOException
DataInput
の readFully
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readFully
、インタフェース: DataInput
b
- データの読み込み先のバッファー。EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final void readFully(byte[] b, int off, int len) throws IOException
DataInput
の readFully
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readFully
、インタフェース: DataInput
b
- データの読み込み先のバッファー。off
- データの開始オフセット。len
- 読み込むバイト数。EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final int skipBytes(int n) throws IOException
DataInput
の skipBytes
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
skipBytes
、インタフェース: DataInput
n
- スキップされるバイト数。IOException
- 含まれる入力ストリームがシークをサポートしない場合、ストリームが閉じられており、含まれる入力ストリームが閉じられた状態での読み込みをサポートしない場合、またはその他の入出力エラーが発生した場合。public final boolean readBoolean() throws IOException
DataInput
の readBoolean
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readBoolean
、インタフェース: DataInput
boolean
の値。EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final byte readByte() throws IOException
DataInput
の readByte
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readByte
、インタフェース: DataInput
byte
と見なされる入力ストリームの次のバイト。EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final int readUnsignedByte() throws IOException
DataInput
の readUnsignedByte
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUnsignedByte
、インタフェース: DataInput
EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final short readShort() throws IOException
DataInput
の readShort
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readShort
、インタフェース: DataInput
EOFException
- 2 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final int readUnsignedShort() throws IOException
DataInput
の readUnsignedShort
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUnsignedShort
、インタフェース: DataInput
EOFException
- 2 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final char readChar() throws IOException
DataInput
の readChar
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readChar
、インタフェース: DataInput
char
と解釈した値。EOFException
- 2 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final int readInt() throws IOException
DataInput
の readInt
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readInt
、インタフェース: DataInput
int
と解釈した値。EOFException
- 4 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final long readLong() throws IOException
DataInput
の readLong
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readLong
、インタフェース: DataInput
long
として解釈される、この入力ストリームの次の 8 バイト。EOFException
- 8 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.in
public final float readFloat() throws IOException
DataInput
の readFloat
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readFloat
、インタフェース: DataInput
float
として解釈される、この入力ストリームの次の 4 バイト。EOFException
- 4 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。readInt()
, Float.intBitsToFloat(int)
public final double readDouble() throws IOException
DataInput
の readDouble
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readDouble
、インタフェース: DataInput
double
として解釈される、この入力ストリームの次の 8 バイト。EOFException
- 8 バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。readLong()
, Double.longBitsToDouble(long)
@Deprecated public final String readLine() throws IOException
BufferedReader.readLine()
メソッドを使うことが推奨されています。行を読み込むのに DataInputStream
クラスを使うプログラムを、BufferedReader
クラスを使うように変換するには、次の形式のコードを、
次の形式のコードで置き換えます。DataInputStream d = new DataInputStream(in);
BufferedReader d = new BufferedReader(new InputStreamReader(in));
DataInput
の readLine
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readLine
、インタフェース: DataInput
IOException
- 入出力エラーが発生した場合。BufferedReader.readLine()
, FilterInputStream.in
public final String readUTF() throws IOException
DataInput
の readUTF
メソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUTF
、インタフェース: DataInput
EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。UTFDataFormatException
- 文字列中のバイトが、有効な修正 UTF-8 形式でエンコードされた文字列以外であった場合。readUTF(java.io.DataInput)
public static final String readUTF(DataInput in) throws IOException
in
から読み込みます。読み込まれた文字列は、String
として返されます。修正 UTF-8 表現の詳細は、DataInput
の readUTF
メソッドのものと完全に一致します。in
- データ入力ストリーム。EOFException
- すべてのバイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読み込みをサポートしない場合、または別の入出力エラーが発生した場合。UTFDataFormatException
- 文字列中のバイトが、有効な修正 UTF-8 形式でエンコードされた Unicode 文字列以外であった場合。readUnsignedShort()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.