- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.io.DataInputStream
-
- すべての実装されたインタフェース:
Closeable
,DataInput
,AutoCloseable
public class DataInputStream extends FilterInputStream implements DataInput
データ入力ストリームにより、アプリケーションは、プリミティブ型のJavaデータをベースとなる入力ストリームからマシンに依存せずに読み込むことができます。 アプリケーションはデータ出力ストリームを使ってデータを書き込むことにより、そのデータをあとで入力ストリームから読み込むこともできます。DataInputStreamは、マルチスレッド・アクセスに対して必ずしも安全ではありません。 スレッドの安全性はこのクラスのメソッドを使用するユーザーによってオプションで保証されます。
- 導入されたバージョン:
- 1.0
- 関連項目:
DataOutputStream
-
-
フィールドのサマリー
-
クラス java.io.FilterInputStreamから継承されたフィールド
in
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 DataInputStream(InputStream in)
指定されたベースとなるInputStreamを使用するDataInputStreamを作成します。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 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)
修正UTF-8形式でエンコードされたUnicode文字列表現を、ストリームin
から読み込みます。読み込まれた文字列は、String
として返されます。int
skipBytes(int n)
DataInput
のskipBytes
メソッドの汎用規約を参照してください。-
クラス java.io.FilterInputStreamから継承されたメソッド
available, close, mark, markSupported, read, reset, skip
-
クラス java.io.InputStreamから継承されたメソッド
readAllBytes, readNBytes, transferTo
-
-
-
-
コンストラクタの詳細
-
DataInputStream
public DataInputStream(InputStream in)
指定されたベースとなるInputStreamを使用するDataInputStreamを作成します。- パラメータ:
in
- 指定された入力ストリーム
-
-
メソッドの詳細
-
read
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)
-
read
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)
-
readFully
public final void readFully(byte[] b) throws IOException
DataInput
のreadFully
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readFully
、インタフェース:DataInput
- パラメータ:
b
- データの読込み先のバッファ。- 例外:
NullPointerException
-b
がnull
である場合。EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readFully
public final void readFully(byte[] b, int off, int len) throws IOException
DataInput
のreadFully
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readFully
、インタフェース:DataInput
- パラメータ:
b
- データの読込み先のバッファ。off
- データ配列b
の開始オフセット。len
- 読み込むバイト数。- 例外:
NullPointerException
-b
がnull
である場合。IndexOutOfBoundsException
-off
が負の値の場合、len
が負の値の場合、またはlen
がb.length - off
より大きい場合EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
skipBytes
public final int skipBytes(int n) throws IOException
DataInput
のskipBytes
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
skipBytes
、インタフェース:DataInput
- パラメータ:
n
- スキップされるバイト数。- 戻り値:
- 実際にスキップされたバイト数。
- 例外:
IOException
- 含まれる入力ストリームがシークをサポートしない場合、ストリームが閉じられており、含まれる入力ストリームが閉じられた状態での読込みをサポートしない場合、またはその他の入出力エラーが発生した場合。
-
readBoolean
public final boolean readBoolean() throws IOException
DataInput
のreadBoolean
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readBoolean
、インタフェース:DataInput
- 戻り値:
- 読み込まれた
boolean
の値。 - 例外:
EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readByte
public final byte readByte() throws IOException
DataInput
のreadByte
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readByte
、インタフェース:DataInput
- 戻り値:
- 符号付き8ビット
byte
と見なされる入力ストリームの次のバイト。 - 例外:
EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readUnsignedByte
public final int readUnsignedByte() throws IOException
DataInput
のreadUnsignedByte
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readUnsignedByte
、インタフェース:DataInput
- 戻り値:
- 入力ストリームの次のバイトを符号なし8ビットと解釈した値。
- 例外:
EOFException
- 入力ストリームが終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readShort
public final short readShort() throws IOException
DataInput
のreadShort
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readShort
、インタフェース:DataInput
- 戻り値:
- 入力ストリームの次の2バイトを符号付き16ビットと解釈した値。
- 例外:
EOFException
- 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readUnsignedShort
public final int readUnsignedShort() throws IOException
DataInput
のreadUnsignedShort
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readUnsignedShort
、インタフェース:DataInput
- 戻り値:
- 入力ストリームの次の2バイトを符号なし16ビットと解釈した整数値。
- 例外:
EOFException
- 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readChar
public final char readChar() throws IOException
DataInput
のreadChar
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readChar
、インタフェース:DataInput
- 戻り値:
- 入力ストリームの次の2バイトを
char
と解釈した値。 - 例外:
EOFException
- 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readInt
public final int readInt() throws IOException
DataInput
のreadInt
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readInt
、インタフェース:DataInput
- 戻り値:
- ストリームの次の4バイトを
int
と解釈した値。 - 例外:
EOFException
- 4バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readLong
public final long readLong() throws IOException
DataInput
のreadLong
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readLong
、インタフェース:DataInput
- 戻り値:
long
として解釈される、この入力ストリームの次の8バイト。- 例外:
EOFException
- 8バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
FilterInputStream.in
-
readFloat
public final float readFloat() throws IOException
DataInput
のreadFloat
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readFloat
、インタフェース:DataInput
- 戻り値:
float
として解釈される、この入力ストリームの次の4バイト。- 例外:
EOFException
- 4バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
readInt()
,Float.intBitsToFloat(int)
-
readDouble
public final double readDouble() throws IOException
DataInput
のreadDouble
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readDouble
、インタフェース:DataInput
- 戻り値:
double
として解釈される、この入力ストリームの次の8バイト。- 例外:
EOFException
- 8バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。- 関連項目:
readLong()
,Double.longBitsToDouble(long)
-
readLine
@Deprecated public final String readLine() throws IOException
非推奨。 このメソッドでは、バイトから文字への変換が正しく行われません。 JDK 1.1以降、テキスト行を読み込むには、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
-
readUTF
public final String readUTF() throws IOException
DataInput
のreadUTF
メソッドの汎用規約を参照してください。このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
- 定義:
readUTF
、インタフェース:DataInput
- 戻り値:
- Unicode文字列。
- 例外:
EOFException
- すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。UTFDataFormatException
- 文字列中のバイトが、有効な修正UTF-8形式でエンコードされた文字列以外であった場合。- 関連項目:
readUTF(java.io.DataInput)
-
readUTF
public static final String readUTF(DataInput in) throws IOException
修正UTF-8形式でエンコードされたUnicode文字列表現を、ストリームin
から読み込みます。読み込まれた文字列は、String
として返されます。 修正UTF-8表現の詳細は、DataInput
のreadUTF
メソッドのものと完全に一致します。- パラメータ:
in
- データ入力ストリーム。- 戻り値:
- Unicode文字列。
- 例外:
EOFException
- すべてのバイトを読み終わる前に入力ストリームの終わりに達した場合。IOException
- ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。UTFDataFormatException
- 文字列中のバイトが、有効な修正UTF-8形式でエンコードされたUnicode文字列以外であった場合。- 関連項目:
readUnsignedShort()
-
-