java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.io.DataOutputStream
- すべての実装されたインタフェース:
Closeable,DataOutput,Flushable,AutoCloseable
public class DataOutputStream extends FilterOutputStream implements DataOutput
データ出力ストリームを使うと、アプリケーションはプリミティブ型のJavaデータを移植性のある形で出力ストリームに書き込むことができます。 アプリケーションはデータ入力ストリームを使ってデータを読み戻すことができます。 データ出力ストリームは、別の出力ストリームをラップし、その出力ストリームの書込みメソッドにバイトの書込みを委任します。 1バイトを超えるデータで構成されるデータを書き込むと、基礎となる出力ストリームへの複数の書込みが発生する可能性があります。
DataOutputStreamは、複数の並行スレッドで安全に使用できません。 DataOutputStreamを複数のスレッドで使用する場合は、適切な同期によってデータ出力ストリームへのアクセスを制御する必要があります。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
フィールドクラスjava.io.FilterOutputStreamで宣言されたフィールド
out -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidflush()データ出力ストリームをフラッシュします。final intsize()カウンタwrittenの現在の値、つまりこのデータ出力ストリームにこれまでに書き込まれたバイト数を返します。voidwrite(byte[] b, int off, int len) 指定されたバイト配列のオフセット位置offから始まるlenバイトをベースとなる出力ストリームに書き込みます。voidwrite(int b) 指定されたバイト(引数bの下位8ビット)をベースとなる出力ストリームに書き込みます。final voidwriteBoolean(boolean v) boolean値を1バイト値としてベースとなる出力ストリームに書き込みます。final voidwriteByte(int v) byte値を1バイト値としてベースとなる出力ストリームに書き込みます。final voidwriteBytes(String s) 文字列をベースとなる出力ストリームに一連のバイトとして書き込みます。final voidwriteChar(int v) char値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。final voidwriteChars(String s) 文字列をベースとなる出力ストリームに一連の文字型データとして書き込みます。final voidwriteDouble(double v) DoubleクラスのdoubleToLongBitsメソッドを使ってdouble型の引数をlong型に変換してから、そのlong値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。final voidwriteFloat(float v) FloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。final voidwriteInt(int v) int値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。final voidwriteLong(long v) long値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。final voidwriteShort(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ビット)をベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは1だけ増加します。OutputStreamのwriteメソッドを実装します。- 定義:
write、インタフェースDataOutput- オーバーライド:
write、クラスFilterOutputStream- パラメータ:
b- 書き込まれるbyte。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
write
public void write(byte[] b, int off, int len) throws IOException 指定されたバイト配列のオフセット位置offから始まるlenバイトをベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenはlenだけ増加します。- 定義:
write、インタフェースDataOutput- オーバーライド:
write、クラスFilterOutputStream- パラメータ:
b- データ。off- データの開始オフセット。len- 書き込むバイト数。- 例外:
IOException- 入出力エラーが発生した場合。IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、あるいはlenがb.length - offより大きい場合- 関連項目:
-
flush
public void flush() throws IOExceptionデータ出力ストリームをフラッシュします。 バッファリングされている出力データは、強制的にストリームに書き込まれます。DataOutputStreamのflushメソッドはそのベースとなる出力ストリームのflushメソッドを呼び出します。- 定義:
flush、インタフェースFlushable- オーバーライド:
flush、クラスFilterOutputStream- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeBoolean
public final void writeBoolean(boolean v) throws IOException boolean値を1バイト値としてベースとなる出力ストリームに書き込みます。 値trueは値(byte)1として書き込まれ、値falseは値(byte)0として書き込まれます。 例外がスローされない場合、カウンタwrittenは1だけ増加します。- 定義:
writeBoolean、インタフェースDataOutput- パラメータ:
v- 書き込まれるboolean値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeByte
public final void writeByte(int v) throws IOException byte値を1バイト値としてベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは1だけ増加します。- 定義:
writeByte、インタフェースDataOutput- パラメータ:
v- 書き込まれるbyte値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeShort
public final void writeShort(int v) throws IOException short値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは2だけ増加します。- 定義:
writeShort、インタフェースDataOutput- パラメータ:
v- 書き込まれるshort値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeChar
public final void writeChar(int v) throws IOException char値を2バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは2だけ増加します。- 定義:
writeChar、インタフェースDataOutput- パラメータ:
v- 書き込まれるchar値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeInt
public final void writeInt(int v) throws IOException int値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは4だけ増加します。- 定義:
writeInt、インタフェースDataOutput- パラメータ:
v- 書き込まれるint値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeLong
public final void writeLong(long v) throws IOException long値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは8だけ増加します。- 定義:
writeLong、インタフェースDataOutput- パラメータ:
v- 書き込まれるlong値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeFloat
public final void writeFloat(float v) throws IOException FloatクラスのfloatToIntBitsメソッドを使ってfloat型の引数をint型に変換してから、そのint値を4バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは4だけ増加します。- 定義:
writeFloat、インタフェースDataOutput- パラメータ:
v- 書き込まれるfloat値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeDouble
public final void writeDouble(double v) throws IOException DoubleクラスのdoubleToLongBitsメソッドを使ってdouble型の引数をlong型に変換してから、そのlong値を8バイト値として上位バイトから先にベースとなる出力ストリームに書き込みます。 例外がスローされない場合、カウンタwrittenは8だけ増加します。- 定義:
writeDouble、インタフェースDataOutput- パラメータ:
v- 書き込まれるdouble値。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeBytes
public final void writeBytes(String s) throws IOException 文字列をベースとなる出力ストリームに一連のバイトとして書き込みます。 文字列の各文字は、高位の8ビットを破棄して順に書き込まれます。 例外がスローされない場合、カウンタwrittenはsの長さだけ増加します。- 定義:
writeBytes、インタフェースDataOutput- パラメータ:
s- 書き込まれるバイトの文字列。- 例外:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
writeChars
public final void writeChars(String s) throws IOException 文字列をベースとなる出力ストリームに一連の文字型データとして書き込みます。 各文字は、writeCharメソッドを使用した場合のように、データ出力ストリームに書き込まれます。 例外がスローされない場合、カウンタwrittenはsの長さの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フィールドの値。- 関連項目:
-