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