public class DataInputStream extends FilterInputStream implements DataInput
DataInputStreamは、マルチスレッド・アクセスに対して必ずしも安全ではありません。 スレッドの安全性はこのクラスのメソッドを使用するユーザーによってオプションで保証されます。
DataOutputStreamin| コンストラクタ | 説明 |
|---|---|
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クラスを使うように変換するには、次の形式のコードを、
次の形式のコードで置き換えます。
|
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メソッドの汎用規約を参照してください。 |
available, close, mark, markSupported, read, reset, skippublic 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、クラスFilterInputStreamb - データの読込み先のバッファ。-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、クラスFilterInputStreamb - データの読込み先のバッファ。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、インタフェースDataInputb - データの読込み先のバッファ。EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final void readFully(byte[] b,
int off,
int len)
throws IOException
DataInputのreadFullyメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readFully、インタフェースDataInputb - データの読込み先のバッファ。off - データの開始オフセット。len - 読み込むバイト数。EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final int skipBytes(int n)
throws IOException
DataInputのskipBytesメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
skipBytes、インタフェースDataInputn - スキップされるバイト数。IOException - 含まれる入力ストリームがシークをサポートしない場合、ストリームが閉じられており、含まれる入力ストリームが閉じられた状態での読込みをサポートしない場合、またはその他の入出力エラーが発生した場合。public final boolean readBoolean()
throws IOException
DataInputのreadBooleanメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readBoolean、インタフェースDataInputbooleanの値。EOFException - 入力ストリームが終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final byte readByte()
throws IOException
DataInputのreadByteメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readByte、インタフェースDataInputbyteと見なされる入力ストリームの次のバイト。EOFException - 入力ストリームが終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final int readUnsignedByte()
throws IOException
DataInputのreadUnsignedByteメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUnsignedByte、インタフェースDataInputEOFException - 入力ストリームが終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final short readShort()
throws IOException
DataInputのreadShortメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readShort、インタフェースDataInputEOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final int readUnsignedShort()
throws IOException
DataInputのreadUnsignedShortメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUnsignedShort、インタフェースDataInputEOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final char readChar()
throws IOException
DataInputのreadCharメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readChar、インタフェースDataInputcharと解釈した値。EOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final int readInt()
throws IOException
DataInputのreadIntメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readInt、インタフェースDataInputintと解釈した値。EOFException - 4バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final long readLong()
throws IOException
DataInputのreadLongメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readLong、インタフェースDataInputlongとして解釈される、この入力ストリームの次の8バイト。EOFException - 8バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。FilterInputStream.inpublic final float readFloat()
throws IOException
DataInputのreadFloatメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readFloat、インタフェースDataInputfloatとして解釈される、この入力ストリームの次の4バイト。EOFException - 4バイトを読み終わる前に入力ストリームの終わりに達した場合。IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。readInt(), Float.intBitsToFloat(int)public final double readDouble()
throws IOException
DataInputのreadDoubleメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readDouble、インタフェースDataInputdoubleとして解釈される、この入力ストリームの次の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、インタフェースDataInputIOException - 入出力エラーが発生した場合。BufferedReader.readLine(), FilterInputStream.inpublic final String readUTF() throws IOException
DataInputのreadUTFメソッドの汎用規約を参照してください。
このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。
readUTF、インタフェースDataInputEOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。