モジュール java.base
パッケージ java.io

クラスDataInputStream

すべての実装されたインタフェース:
Closeable, DataInput, AutoCloseable

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

DataInputStreamは、マルチスレッド・アクセスに対して必ずしも安全ではありません。 スレッドの安全性はこのクラスのメソッドを使用するユーザーによってオプションで保証されます。

導入されたバージョン:
1.0
関連項目:
DataOutputStream
  • フィールドのサマリー

    クラス java.io.FilterInputStreamで宣言されたフィールド

    in
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ 説明
    DataInputStream​(InputStream in)
    指定されたベースとなるInputStreamを使用するDataInputStreamを作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    int read​(byte[] b)
    格納されている入力ストリームから数バイトを読み込み、それをバッファ配列bに格納します。
    int read​(byte[] b, int off, int len)
    最大lenバイトのデータを、格納されている入力ストリームからバイト配列に読み込みます。
    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()
    非推奨。
    このメソッドでは、バイトから文字への変換が正しく行われません。
    long readLong()
    DataInputreadLongメソッドの汎用規約を参照してください。
    short readShort()
    DataInputreadShortメソッドの汎用規約を参照してください。
    int readUnsignedByte()
    DataInputreadUnsignedByteメソッドの汎用規約を参照してください。
    int readUnsignedShort()
    DataInputreadUnsignedShortメソッドの汎用規約を参照してください。
    String readUTF()
    DataInputreadUTFメソッドの汎用規約を参照してください。
    static String readUTF​(DataInput in)
    修正UTF-8形式でエンコードされたUnicode文字列表現を、ストリームinから読み込みます。読み込まれた文字列は、Stringとして返されます。
    int skipBytes​(int n)
    DataInputskipBytesメソッドの汎用規約を参照してください。

    クラス java.io.FilterInputStreamで宣言されたメソッド

    available, close, mark, markSupported, read, reset, skip

    クラス java.io.InputStreamで宣言されたメソッド

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • DataInputStream

      public DataInputStream​(InputStream in)
      指定されたベースとなるInputStreamを使用するDataInputStreamを作成します。
      パラメータ:
      in - 指定された入力ストリーム
  • メソッドの詳細

    • read

      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、クラス: FilterInputStream
      パラメータ:
      b - データの読込み先のバッファ。
      戻り値:
      バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
      例外:
      IOException - 最初のバイトを読み込めない理由がファイルの終わりに達したからではない場合、ストリームが閉じられており、ベースとなる入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in, InputStream.read(byte[], int, int)
    • read

      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、クラス: FilterInputStream
      パラメータ:
      b - データの読込み先のバッファ。
      off - 転送先配列bの開始オフセット
      len - 読み込まれる最大バイト数。
      戻り値:
      バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
      IOException - 最初のバイトを読み込めない理由がファイルの終わりに達したからではない場合、ストリームが閉じられており、ベースとなる入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in, InputStream.read(byte[], int, int)
    • readFully

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

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

      定義:
      readFully、インタフェース: DataInput
      パラメータ:
      b - データの読込み先のバッファ。
      例外:
      NullPointerException - bnullである場合。
      EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readFully

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

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

      定義:
      readFully、インタフェース: DataInput
      パラメータ:
      b - データの読込み先のバッファ。
      off - データ配列bの開始オフセット。
      len - 読み込むバイト数。
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、またはlenb.length - offより大きい場合
      EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • skipBytes

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

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

      定義:
      skipBytes、インタフェース: DataInput
      パラメータ:
      n - スキップされるバイト数。
      戻り値:
      実際にスキップされたバイト数。
      例外:
      IOException - 含まれる入力ストリームがシークをサポートしない場合、ストリームが閉じられており、含まれる入力ストリームが閉じられた状態での読込みをサポートしない場合、またはその他の入出力エラーが発生した場合。
    • readBoolean

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

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

      定義:
      readBoolean、インタフェース: DataInput
      戻り値:
      読み込まれたbooleanの値。
      例外:
      EOFException - 入力ストリームが終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readByte

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

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

      定義:
      readByte、インタフェース: DataInput
      戻り値:
      符号付き8ビットbyteと見なされる入力ストリームの次のバイト。
      例外:
      EOFException - 入力ストリームが終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readUnsignedByte

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

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

      定義:
      readUnsignedByte、インタフェース: DataInput
      戻り値:
      入力ストリームの次のバイトを符号なし8ビットと解釈した値。
      例外:
      EOFException - 入力ストリームが終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readShort

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

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

      定義:
      readShort、インタフェース: DataInput
      戻り値:
      入力ストリームの次の2バイトを符号付き16ビットと解釈した値。
      例外:
      EOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readUnsignedShort

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

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

      定義:
      readUnsignedShort、インタフェース: DataInput
      戻り値:
      入力ストリームの次の2バイトを符号なし16ビットと解釈した整数値。
      例外:
      EOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readChar

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

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

      定義:
      readChar、インタフェース: DataInput
      戻り値:
      入力ストリームの次の2バイトをcharと解釈した値。
      例外:
      EOFException - 2バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readInt

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

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

      定義:
      readInt、インタフェース: DataInput
      戻り値:
      ストリームの次の4バイトをintと解釈した値。
      例外:
      EOFException - 4バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readLong

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

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

      定義:
      readLong、インタフェース: DataInput
      戻り値:
      longとして解釈される、この入力ストリームの次の8バイト。
      例外:
      EOFException - 8バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      FilterInputStream.in
    • readFloat

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

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

      定義:
      readFloat、インタフェース: DataInput
      戻り値:
      floatとして解釈される、この入力ストリームの次の4バイト。
      例外:
      EOFException - 4バイトを読み終わる前に入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      関連項目:
      readInt(), Float.intBitsToFloat(int)
    • readDouble

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

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

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

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

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

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

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

      定義:
      readUTF、インタフェース: DataInput
      戻り値:
      Unicode文字列。
      例外:
      EOFException - すべてのバイトを読み込む前に、この入力ストリームの終わりに達した場合。
      IOException - ストリームが閉じられており、格納されている入力ストリームが閉じられた状態での読込みをサポートしない場合、または別の入出力エラーが発生した場合。
      UTFDataFormatException - 文字列中のバイトが、有効な修正UTF-8形式でエンコードされた文字列以外であった場合。
      関連項目:
      readUTF(java.io.DataInput)
    • readUTF

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