com.docomostar.io
クラス FileDataOutput

Object
  上位を拡張 com.docomostar.io.FileDataOutput
すべての実装されたインタフェース:
RandomAccessible, java.io.DataOutput

public class FileDataOutput
extends Object
implements java.io.DataOutput, RandomAccessible
 [iアプリオプションAPI]

ファイル出力のためのクラスを定義します。

java.io.DataOutput インタフェースを実装しているため、 プリミティブ型や String 型のデータをファイルに出力することが可能です。 加えて、固定長の領域への String の出力を行うことも可能です。 また、RandomAccessible インタフェースを実装しているため、 ランダムアクセスが可能となっています。

導入されたバージョン:
Star-1.0
関連項目:
FileEntity.openDataOutput()

メソッドの概要
 void close()
           データ出力をクローズします。
 void flush()
           データ出力をフラッシュします。
 long getPosition()
           データ出力の現在のアクセス位置を取得します。
 long getSize()
           ファイルのサイズを取得します。
 void setPosition(long position)
           データ出力のアクセス位置を設定します。
 void setPositionRelative(long position)
           データ出力の現在のアクセス位置からの相対指定でアクセス位置を設定します。
 void truncate(long fileSize)
           ファイルサイズを削減します。
 void write(byte[] b)
          引数で指定されたバイト配列の全部を出力します。
 void write(byte[] b, int off, int len)
          引数で指定されたバイト配列の一部を出力します。
 void write(int b)
          引数で指定された整数値の下位8ビットを、1バイトとして出力します。
 void writeBoolean(boolean v)
          引数で指定された boolean 値を出力します。
 void writeByte(int v)
          引数で指定された整数値の下位8ビットを、1バイトとして出力します。
 void writeBytes(String s)
          引数で指定された文字列の各文字を、 1文字1バイトとして出力します。
 void writeChar(int v)
          引数で指定された整数値を char 値として出力します。
 void writeChars(String s)
          引数で指定された文字列の各文字を、 1文字2バイトとして出力します。
 void writeDouble(double v)
          引数で指定された double 値を出力します。
 void writeFloat(float v)
          引数で指定された float 値を出力します。
 void writeInt(int v)
          引数で指定された int 値を出力します。
 void writeLong(long v)
          引数で指定された long 値を出力します。
 void writeShort(int v)
          引数で指定された整数値を short 値として出力します。
 void writeString(String s)
           文字列をデフォルトのエンコーディングでバイト列に変換して出力します。
 void writeString(String s, int bytes)
           文字列をデフォルトのエンコーディングでバイト列に変換して出力します。
 void writeUTF(String str)
          引数で指定された文字列を、文字列の長さ情報と共に、 修正 UTF-8 エンコーディングで出力します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getSize

public long getSize()
             throws java.io.IOException

ファイルのサイズを取得します。

定義:
インタフェース RandomAccessible 内の getSize
戻り値:
ファイルのサイズを返します。
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

getPosition

public long getPosition()
                 throws java.io.IOException

データ出力の現在のアクセス位置を取得します。

定義:
インタフェース RandomAccessible 内の getPosition
戻り値:
現在のアクセス位置を返します。
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

setPosition

public void setPosition(long position)
                 throws java.io.IOException

データ出力のアクセス位置を設定します。 ファイルのサイズを超える位置にアクセス位置を設定することも可能です。 その場合、その位置に書き込もうとすると、 ファイルサイズからその位置までの間が 0x00 で埋められた後にその位置にデータが書き込まれます。

定義:
インタフェース RandomAccessible 内の setPosition
パラメータ:
position - アクセス位置を指定します。
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
IllegalArgumentException -
引数 position が負の場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

setPositionRelative

public void setPositionRelative(long position)
                         throws java.io.IOException

データ出力の現在のアクセス位置からの相対指定でアクセス位置を設定します。 ファイルのサイズを超える位置にアクセス位置を設定することも可能です。 その場合、その位置に書き込もうとすると、 ファイルサイズからその位置までの間が 0x00 で埋められた後にその位置にデータが書き込まれます。

定義:
インタフェース RandomAccessible 内の setPositionRelative
パラメータ:
position - アクセス位置を指定します。
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
IllegalArgumentException -
引数 position で指定した結果の絶対アクセス位置が、 ファイルの先頭位置(=0)より小さい場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

truncate

public void truncate(long fileSize)
              throws java.io.IOException

ファイルサイズを削減します。 引数 fileSize が現在のファイルサイズよりも小さい場合は、 ファイルサイズを引数 fileSize に変更して、それ以降のファイルの内容を破棄します。 引数 fileSize が現在のファイルサイズと同じか大きい場合は、 何も行いません。

このメソッドを呼び出した後にアクセス位置がファイルサイズよりも後だった場合は、 アクセス位置はファイルサイズと同じ位置に変更されます。

パラメータ:
fileSize - ファイルサイズを指定します。
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
IllegalArgumentException -
引数 fileSize が負の場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

flush

public void flush()
           throws java.io.IOException

データ出力をフラッシュします。 ストレージデバイス上のファイルへの書き込みをバッファリングするような実装の場合、 このメソッドが呼ばれた時は必ずバッファをフラッシュして、 それまでに書き込まれたデータをストレージデバイスに反映しなければなりません。

例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
FileSystemFullException -
このファイルが記録されているフォルダ、あるいはファイルシステムに空容量が無いため、 データの書き込みに失敗した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

close

public void close()
           throws java.io.IOException

データ出力をクローズします。 データ出力が既にクローズされている場合は何もしません。

例外:
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
FileSystemFullException -
このファイルが記録されているフォルダ、あるいはファイルシステムに空容量が無いため、 データの書き込みに失敗した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

writeString

public void writeString(String s)
                 throws java.io.IOException

文字列をデフォルトのエンコーディングでバイト列に変換して出力します。

このメソッドでは、最初に文字列をデフォルトのエンコーディングでバイト列に変換します。 そうして、バイト列の長さを writeShort(int) メソッドで書き込むのと同様に 2 バイトで書き込み、 それに続いてバイト列を書き込みます。

パラメータ:
s - 出力する文字列を指定します。
関連項目:
FileDataInput.readString()
例外:
java.io.IOException -
このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException -
FileEntity オブジェクトが既にクローズされている場合に発生します。
NullPointerException -
引数 s に null が指定された場合に発生します。
IllegalArgumentException -
引数 s の文字列をバイト列に変換した結果、 バイト列の長さが 65536 以上になった場合に発生します。
MediaNotFoundException -
このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
FileSystemFullException -
このファイルが記録されているフォルダ、あるいはファイルシステムに空容量が無いため、 データの書き込みに失敗した場合に発生します。
java.io.IOException -
I/O エラーが発生した場合に発生します。

writeString

public void writeString(String s,
                        int bytes)
                 throws java.io.IOException

文字列をデフォルトのエンコーディングでバイト列に変換して出力します。

このメソッドでは、最初に文字列をデフォルトのエンコーディングでバイト列に変換します。 この時、バイト列の長さが引数 bytes よりも長い場合は、例外が発生します (この例外が発生した場合、このメソッドを呼び出した後のアクセス位置は、 このメソッドを呼び出す前のアクセス位置から変化しません)。 そうして、バイト列の長さを writeShort(int) メソッドで書き込むのと同様に 2 バイトで書き込み、 それに続いてバイト列を書き込みます。 また、実際に書き込んだバイト列の長さが引数 bytes よりも短い場合は、 引数 bytes に足りない部分を 0x00 で埋めます。 いずれにせよ、このメソッドを呼び出した後のアクセス位置は、 このメソッドを呼び出す前のアクセス位置から (2 + 引数 bytes の値) だけ進めた位置になります。

縺昴l縺ォ邯壹>縺ヲ繝舌う繝亥