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