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

クラスDataInputStream

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

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

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

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

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

      コンストラクタ 
      コンストラクタ 説明
      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メソッドの汎用規約を参照してください。
    • コンストラクタの詳細

      • 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()