Java プラットフォーム 1.2

java.io
クラス DataInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.FilterInputStream
              |
              +--java.io.DataInputStream

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 メソッドの汎用規約を参照してください。

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

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

read

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

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

パラメータ:
b - データが読み込まれるバッファ
off - データの開始オフセット
len - 読み込まれたバイト数の最大値
戻り値:
バッファに読み込まれた全バイト数。ストリームの終わりに達してデータがなかった場合は -1
例外:
IOException - 入出力エラーが発生した場合
オーバーライド:
クラス FilterInputStream 内の read
関連項目:
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()

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.