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

クラスDataOutputStream

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

public class DataOutputStream extends FilterOutputStream implements DataOutput
データ出力ストリームを使うと、アプリケーションはプリミティブ型のJavaデータを移植性のある形で出力ストリームに書き込むことができます。 アプリケーションはデータ入力ストリームを使ってデータを読み戻すことができます。

DataOutputStreamは、複数の並行スレッドで安全に使用できません。 DataOutputStreamを複数のスレッドで使用する場合は、適切な同期によってデータ出力ストリームへのアクセスを制御する必要があります。

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

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

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

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

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

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

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

    close, write

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

    nullOutputStream

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

    write
  • フィールド詳細

    • written

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

    • DataOutputStream

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

    • write

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

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

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

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

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

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

      定義:
      flush、インタフェースFlushable
      オーバーライド:
      flush、クラスFilterOutputStream
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • writeBoolean

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

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

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

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

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

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

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

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

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

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

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