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

クラスDataOutputStream

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

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

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

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

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

    コンストラクタ 
    コンストラクタ 説明
    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エンコーディングを使って、マシンに依存しない方法で文字列をベースとなる出力ストリームに書き込みます。

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

    close, write

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

    nullOutputStream

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

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

    インタフェース java.io.DataOutputで宣言されたメソッド

    write
  • フィールド詳細

    • 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
      オーバーライド:
      write、クラス: FilterOutputStream
      パラメータ:
      b - 書き込まれるbyte
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
      FilterOutputStream.out
    • write

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

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

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

      定義:
      flush、インタフェース: Flushable
      オーバーライド:
      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 - 書き込まれる文字列。
      例外:
      UTFDataFormatException - strの修正UTF-8エンコーディングが65535バイトを超える場合
      IOException - 他のI/Oエラーが発生した場合。
      関連項目:
      writeChars(String)
    • size

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