JavaTM 2 Platform
Std. Ed. v1.3

java.io
クラス DataInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.FilterInputStream
              |
              +--java.io.DataInputStream
すべての実装インタフェース:
DataInput

public class DataInputStream
extends FilterInputStream
implements DataInput

データ入力ストリームにより、アプリケーションは、プリミティブ型の Java データを基礎の入力ストリームからマシンに依存せずに読み込むことができます。アプリケーションはデータ出力ストリームを使ってデータを書き込むことにより、そのデータをあとで入力ストリームから読み込むこともできます。

データ入力ストリームとデータ出力ストリームは、UTF-8 を若干修正した形式の Unicode で文字列を表現します (詳細は X/Open Company Ltd., "File System Safe UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, Document Number: P316 を参照。これに関する情報は ISO/IEC 10646, Annex P にもある)。

'\u0001''\u007F' までの範囲の文字はすべて 1 個のバイトで表現されます。

0 ビット 0-7

null 文字 '\u0000''\u0080''\u07FF' の範囲の文字は 2 個のバイトで表現されます。

1 1 0 ビット 6-10
1 0 ビット 0-5

'\u0800''\uFFFF' の範囲の文字は 3 個のバイトで表現されます。
1 1 1 0 ビット 12-15
1 0 ビット 6-11
1 0 ビット 0-5

「標準」UTF-8 形式とこの形式とは、次の 2 つの点で異なります。

導入されたバージョン:
JDK1.0
関連項目:
DataOutputStream

クラス java.io.FilterInputStream から継承したフィールド
in
 
コンストラクタの概要
DataInputStream(InputStream in)
          FilterInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。
 
メソッドの概要
 int read(byte[] b)
          DataInputread メソッドの汎用規約を参照してください。
 int read(byte[] b, int off, int len)
          DataInputread メソッドの汎用規約を参照してください。
 boolean readBoolean()
          DataInputreadBoolean メソッドの汎用規約を参照してください。
 byte readByte()
          DataInputreadByte メソッドの汎用規約を参照してください。
 char readChar()
          DataInputreadChar メソッドの汎用規約を参照してください。
 double readDouble()
          DataInputreadDouble メソッドの汎用規約を参照してください。
 float readFloat()
          DataInputreadFloat メソッドの汎用規約を参照してください。
 void readFully(byte[] b)
          DataInputreadFully メソッドの汎用規約を参照してください。
 void readFully(byte[] b, int off, int len)
          DataInputreadFully メソッドの汎用規約を参照してください。
 int readInt()
          DataInputreadInt メソッドの汎用規約を参照してください。
 String readLine()
          推奨されていません。 このメソッドは、バイトを適切に文字列に変換しません。JDK 1.1 では、テキスト行を読み込む方法としては BufferedReader.readLine() メソッドを使うことが推奨されています。行を読み込むのに DataInputStream クラスを使うプログラムを、BufferedReader クラスを使うように変換するには、次の形式のコードを、
     DataInputStream d = new DataInputStream(in);
 
次の形式のコードで置き換えます。
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));
 
 long readLong()
          DataInputreadLong メソッドの汎用規約を参照してください。
 short readShort()
          DataInputreadShort メソッドの汎用規約を参照してください。
 int readUnsignedByte()
          DataInputreadUnsignedByte メソッドの汎用規約を参照してください。
 int readUnsignedShort()
          DataInputreadUnsignedShort メソッドの汎用規約を参照してください。
 String readUTF()
          DataInputreadUTF メソッドの汎用規約を参照してください。
static String readUTF(DataInput in)
          Java 修正 UTF-8 形式でコード化された Unicode 文字列表現を、ストリーム in から読み込みます。
 int skipBytes(int n)
          DataInputskipBytes メソッドの汎用規約を参照してください。
 
クラス java.io.FilterInputStream から継承したメソッド
available, close, mark, markSupported, read, reset, skip
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DataInputStream

public DataInputStream(InputStream in)
FilterInputStream を作成し、その引数である入力ストリーム in をあとで使用できるように保存します。内部バッファ配列が作成され、buf に格納されます。
パラメータ:
in - 入力ストリーム
メソッドの詳細

read

public final int read(byte[] b)
               throws IOException
DataInputread メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

オーバーライド:
クラス FilterInputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in, InputStream.read(byte[], int, int)

read

public final int read(byte[] b,
                      int off,
                      int len)
               throws IOException
DataInputread メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

オーバーライド:
クラス FilterInputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in, InputStream.read(byte[], int, int)

readFully

public final void readFully(byte[] b)
                     throws IOException
DataInputreadFully メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
例外:
EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readFully

public final void readFully(byte[] b,
                            int off,
                            int len)
                     throws IOException
DataInputreadFully メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込むバイト数
例外:
EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

skipBytes

public final int skipBytes(int n)
                    throws IOException
DataInputskipBytes メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の skipBytes
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合

readBoolean

public final boolean readBoolean()
                          throws IOException
DataInputreadBoolean メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readBoolean
戻り値:
読み込まれた boolean の値
例外:
EOFException - 入力ストリームが終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readByte

public final byte readByte()
                    throws IOException
DataInputreadByte メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readByte
戻り値:
符号付き 8 ビット byte と見なされる入力ストリームの次のバイト
例外:
EOFException - 入力ストリームが終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readUnsignedByte

public final int readUnsignedByte()
                           throws IOException
DataInputreadUnsignedByte メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readUnsignedByte
戻り値:
入力ストリームの次のバイトを符号なし 8 ビットと解釈した値
例外:
EOFException - 入力ストリームが終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readShort

public final short readShort()
                      throws IOException
DataInputreadShort メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readShort
戻り値:
入力ストリームの次の 2 バイトを符号付き 16 ビットと解釈した値
例外:
EOFException - 2 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readUnsignedShort

public final int readUnsignedShort()
                            throws IOException
DataInputreadUnsignedShort メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readUnsignedShort
戻り値:
入力ストリームの次の 2 バイトを符号なし 16 ビットと解釈した整数値
例外:
EOFException - 2 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readChar

public final char readChar()
                    throws IOException
DataInputreadChar メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readChar
戻り値:
入力ストリームの次の 2 バイトを表す Unicode 文字
例外:
EOFException - 2 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readInt

public final int readInt()
                  throws IOException
DataInputreadInt メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readInt
戻り値:
ストリームの次の 4 バイトを int と解釈した値
例外:
EOFException - 4 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readLong

public final long readLong()
                    throws IOException
DataInputreadLong メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readLong
戻り値:
入力ストリームの次の 8 バイトを long と解釈した値
例外:
EOFException - 8 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
FilterInputStream.in

readFloat

public final float readFloat()
                      throws IOException
DataInputreadFloat メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readFloat
戻り値:
入力ストリームの次の 4 バイトを float と解釈した値
例外:
EOFException - 4 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readInt(), Float.intBitsToFloat(int)

readDouble

public final double readDouble()
                        throws IOException
DataInputreadDouble メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readDouble
戻り値:
入力ストリームの次の 8 バイトを double と解釈した値
例外:
EOFException - 8 バイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readLong(), Double.longBitsToDouble(long)

readLine

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));
 

DataInputreadLine メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readLine
戻り値:
入力ストリームからの次のテキスト行
例外:
IOException - 入出力エラーが発生した場合
関連項目:
BufferedReader.readLine(), FilterInputStream.in

readUTF

public final String readUTF()
                     throws IOException
DataInputreadUTF メソッドの汎用規約を参照してください。

このオペレーションのバイトは、格納されている入力ストリームから読み込まれます。

定義:
インタフェース DataInput 内の readUTF
戻り値:
Unicode 文字列
例外:
EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readUTF(java.io.DataInput)

readUTF

public static final String readUTF(DataInput in)
                            throws IOException
Java 修正 UTF-8 形式でコード化された Unicode 文字列表現を、ストリーム in から読み込みます。読み込まれた文字列は、String として返されます。修正 UTF-8 表現の詳細は、DataInputreadUTF メソッドのものと完全に一致します。
パラメータ:
in - データ入力ストリーム
戻り値:
Unicode 文字列
例外:
EOFException - すべてのバイトを読み終わる前に入力ストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
UTFDataFormatException - 文字列中のバイトが、有効な UTF-8 形式でコード化された Unicode 文字列以外であった場合
関連項目:
readUnsignedShort()

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.