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, 2014, Oracle and/or its affiliates. All rights reserved.