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

クラスDataOutputStream

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

    public class DataOutputStream
    extends FilterOutputStream
    implements DataOutput
    データ出力ストリームを使うと、アプリケーションはプリミティブ型のJavaデータを移植性のある形で出力ストリームに書き込むことができます。 アプリケーションはデータ入力ストリームを使ってデータを読み戻すことができます。
    導入されたバージョン:
    1.0
    関連項目:
    DataInputStream
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected int written
      それまでにデータ出力ストリームに書き込まれたバイト数です。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      DataOutputStream​(OutputStream out)
      指定されたベースとなる出力ストリームへデータを書き込むための、データ出力ストリームを新しく作成します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void flush()
      データ出力ストリームをフラッシュします。
      int size()
      カウンタwrittenの現在の値、つまりこのデータ出力ストリームにこれまでに書き込まれたバイト数を返します。
      void write​(byte[] b, int off, int len)
      指定されたバイト配列のオフセット位置offから始まるlenバイトをベースとなる出力ストリームに書き込みます。
      void write​(int b)
      指定されたバイト(引数bの下位8ビット)をベースとなる出力ストリームに書き込みます。
      void writeBoolean​(boolean v)
      boolean値を1バイト値としてベースとなる出力ストリームに書き込みます。
      void writeByte​(int v)
      byte値を1バイト値としてベースとなる出力ストリームに書き込みます。
      void writeBytes​(String s)
      文字列をベースとなる出力ストリームに一連のバイトとして書き込みます。
      void writeChar​(int v)
      char値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeChars​(String s)
      文字列をベースとなる出力ストリームに一連の文字型データとして書き込みます。
      void writeDouble​(double v)
      DoubleクラスのdoubleToLongBitsメソッドを使ってdouble型の引数をlong型に変換してから、そのlong値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeFloat​(float v)
      FloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeInt​(int v)
      int値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeLong​(long v)
      long値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeShort​(int v)
      short値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。
      void writeUTF​(String str)
      修正UTF-8エンコーディングを使って、マシンに依存しない方法で文字列をベースとなる出力ストリームに書き込みます。
    • フィールドの詳細

      • written

        protected int written
        それまでにデータ出力ストリームに書き込まれたバイト数です。 このカウンタがオーバーフローすると、Integer.MAX_VALUEにラップされます。
    • コンストラクタの詳細

      • DataOutputStream

        public DataOutputStream​(OutputStream out)
        指定されたベースとなる出力ストリームへデータを書き込むための、データ出力ストリームを新しく作成します。 カウンタwrittenがゼロに設定されます。
        パラメータ:
        out - あとで使うために保存されるベースとなる出力ストリーム。
        関連項目:
        FilterOutputStream.out
    • メソッドの詳細

      • write

        public void write​(int b)
                   throws IOException
        指定されたバイト(引数bの下位8ビット)をベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten1だけ増加します。

        OutputStreamwriteメソッドを実装します。

        定義:
        write、インタフェース: DataOutput
        Overrides:
        write、クラス: FilterOutputStream
        パラメータ:
        b - 書き込まれるbyte
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        指定されたバイト配列のオフセット位置offから始まるlenバイトをベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenlenだけ増加します。
        定義:
        write、インタフェース: DataOutput
        Overrides:
        write、クラス: FilterOutputStream
        パラメータ:
        b - データ。
        off - データの開始オフセット。
        len - 書き込むバイト数。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • flush

        public void flush()
                   throws IOException
        データ出力ストリームをフラッシュします。 バッファリングされている出力データは、強制的にストリームに書き込まれます。

        DataOutputStreamflushメソッドはそのベースとなる出力ストリームのflushメソッドを呼び出します。

        定義:
        flush、インタフェース: Flushable
        Overrides:
        flush、クラス: FilterOutputStream
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out, OutputStream.flush()
      • writeBoolean

        public final void writeBoolean​(boolean v)
                                throws IOException
        boolean値を1バイト値としてベースとなる出力ストリームに書き込みます。 trueは値(byte)1として書き込まれ、値falseは値(byte)0として書き込まれます。 例外がスローされない場合、カウンタwritten1だけ増加します。
        定義:
        writeBoolean、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるboolean値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeByte

        public final void writeByte​(int v)
                             throws IOException
        byte値を1バイト値としてベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten1だけ増加します。
        定義:
        writeByte、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるbyte値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeShort

        public final void writeShort​(int v)
                              throws IOException
        short値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten2だけ増加します。
        定義:
        writeShort、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるshort値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeChar

        public final void writeChar​(int v)
                             throws IOException
        char値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten2だけ増加します。
        定義:
        writeChar、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるchar値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeInt

        public final void writeInt​(int v)
                            throws IOException
        int値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten4だけ増加します。
        定義:
        writeInt、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるint値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeLong

        public final void writeLong​(long v)
                             throws IOException
        long値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten8だけ増加します。
        定義:
        writeLong、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるlong値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeFloat

        public final void writeFloat​(float v)
                              throws IOException
        FloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten4だけ増加します。
        定義:
        writeFloat、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるfloat値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out, Float.floatToIntBits(float)
      • writeDouble

        public final void writeDouble​(double v)
                               throws IOException
        DoubleクラスのdoubleToLongBitsメソッドを使ってdouble型の引数をlong型に変換してから、そのlong値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwritten8だけ増加します。
        定義:
        writeDouble、インタフェース: DataOutput
        パラメータ:
        v - 書き込まれるdouble値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out, Double.doubleToLongBits(double)
      • writeBytes

        public final void writeBytes​(String s)
                              throws IOException
        文字列をベースとなる出力ストリームに一連のバイトとして書き込みます。 文字列の各文字は、高位の8ビットを破棄して順に書き込まれます。 例外がスローされない場合、カウンタwrittensの長さだけ増加します。
        定義:
        writeBytes、インタフェース: DataOutput
        パラメータ:
        s - 書き込まれるバイトの文字列。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        FilterOutputStream.out
      • writeChars

        public final void writeChars​(String s)
                              throws IOException
        文字列をベースとなる出力ストリームに一連の文字型データとして書き込みます。 各文字は、writeCharメソッドを使用した場合のように、データ出力ストリームに書き込まれます。 例外がスローされない場合、カウンタwrittensの長さの2倍だけ増加します。
        定義:
        writeChars、インタフェース: DataOutput
        パラメータ:
        s - 書き込まれるString値。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        writeChar(int), FilterOutputStream.out
      • writeUTF

        public final void writeUTF​(String str)
                            throws IOException
        修正UTF-8エンコーディングを使って、マシンに依存しない方法で文字列をベースとなる出力ストリームに書き込みます。

        まず、最初の2バイトがwriteShortメソッドと同じ方法で出力ストリームに書き込まれ、これがあとに続くバイト数を示します。 この値は、実際に書き込まれるバイト数であり、文字列の長さではありません。 この長さ情報に続いて、文字列の各文字データが順番に修正UTF-8エンコーディングで出力されます。 例外がスローされない場合、カウンタwrittenは出力ストリームに書き込まれた総バイト数だけ増加します。 これは、2にstrの長さを加えた値以上で、2にstrの長さの3倍を加えた値以下になります。

        定義:
        writeUTF、インタフェース: DataOutput
        パラメータ:
        str - 書き込まれる文字列。
        例外:
        IOException - 入出力エラーが発生した場合。
      • size

        public final int size()
        カウンタwrittenの現在の値、つまりこのデータ出力ストリームにこれまでに書き込まれたバイト数を返します。 このカウンタがオーバーフローすると、Integer.MAX_VALUEにラップされます。
        戻り値:
        writtenフィールドの値。
        関連項目:
        written