com.nttdocomo.io
クラス FileDataInput

Object
  拡張com.nttdocomo.io.FileDataInput
すべての実装インタフェース:
java.io.DataInput, RandomAccessible

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

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

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

導入されたバージョン:
DoJa-4.1(902i)
関連項目:
FileEntity.openDataInput()

メソッドの概要
 void close()
           データ入力をクローズします。
 long getPosition()
           データ入力の現在のアクセス位置を取得します。
 long getSize()
           ファイルのサイズを取得します。
 boolean readBoolean()
          1バイトを boolean 値に変換して入力します。
 byte readByte()
          1バイト入力します。
 char readChar()
          2バイトを char に変換して入力します。
 double readDouble()
          8バイトを double に変換して入力します。
 float readFloat()
          4バイトを float に変換して入力します。
 void readFully(byte[] b)
          バイト列を入力し、引数で指定された配列に格納します。
 void readFully(byte[] b, int off, int len)
          指定されたバイト数だけ入力します。
 int readInt()
          4バイトを int に変換して入力します。
 String readLine()
          次の改行までを String に変換して入力します。
 long readLong()
          8バイトを long に変換して入力します。
 short readShort()
          2バイトを short に変換して入力します。
 String readString()
           バイト列をデフォルトのエンコーディングで文字列に変換して入力します。
 String readString(int bytes)
           バイト列をデフォルトのエンコーディングで文字列に変換して入力します。
 int readUnsignedByte()
          1バイトを 0 〜 255 の整数として入力します。
 int readUnsignedShort()
          2バイトを 0 〜 65535 の整数として入力します。
 String readUTF()
          バイト列を修正 UTF-8 形式でエンコードされた文字列として入力します。
 void setPosition(long position)
           データ入力のアクセス位置を設定します。
 void setPositionRelative(long position)
           データ入力の現在のアクセス位置からの相対指定でアクセス位置を設定します。
 int skipBytes(int n)
          引数に指定されたバイト数だけスキップします。
 
クラス 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

データ入力のアクセス位置を設定します。 ファイルのサイズを超える位置にアクセス位置を設定することも可能ですが、 その位置から読み出そうとすると例外(EOFException)が発生します。

定義:
インタフェース 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

データ入力の現在のアクセス位置からの相対指定でアクセス位置を設定します。 ファイルのサイズを超える位置にアクセス位置を設定することも可能ですが、 その位置から読み出そうとすると例外(EOFException)が発生します。

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

close

public void close()
           throws java.io.IOException

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

例外:
MediaNotFoundException - このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.IOException - I/O エラーが発生した場合に発生します。

readString

public String readString()
                            throws java.io.IOException

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

このメソッドでは、最初にバイト列の長さを readUnsignedShort() メソッドで読み出すのと同様に 2 バイトで読み出します。 それに続いてバイト列を読み出し、デフォルトのエンコーディングで文字列に変換します。
なお、最初に読み出したバイト列の長さが 0 の場合は、長さ 0 の空文字列を返します。

戻り値:
入力した文字列を返します。
例外:
java.io.IOException - このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException - FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException - このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.EOFException - すべてのバイトを読み込む前に、 このストリームの終わりに達した場合に発生します。
java.io.IOException - I/O エラーが発生した場合に発生します。
関連項目:
FileDataOutput.writeString(String)

readString

public String readString(int bytes)
                            throws java.io.IOException

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

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

パラメータ:
bytes - 入力元のバイト列が書き込まれた領域のバイト数を指定します。
戻り値:
入力した文字列を返します。
例外:
java.io.IOException - このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException - FileEntity オブジェクトが既にクローズされている場合に発生します。
IllegalArgumentException - 引数 bytes が負の場合に発生します。
IllegalArgumentException - 引数 bytes が 65536 以上の場合に発生します。
IllegalArgumentException - 引数 bytes が、先頭2バイトに書き込まれている「バイト列の長さ」 未満である場合に発生します。
MediaNotFoundException - このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.EOFException - すべてのバイトを読み込む前に、 このストリームの終わりに達した場合に発生します。
java.io.IOException - I/O エラーが発生した場合に発生します。
関連項目:
FileDataOutput.writeString(String, int)

readBoolean

public boolean readBoolean()
                    throws java.io.IOException
1バイトを boolean 値に変換して入力します。 動作の詳細は CLDC の DataInput インタフェースの同名メソッドの説明を参照して下さい。

定義:
インタフェース java.io.DataInput 内の readBoolean
例外:
java.io.IOException - このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException - FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException - このファイルが記録されているメディアが存在しないことを、 システムが検知した場合に発生します。
java.io.EOFException - すべてのバイトを読み込む前に、 このストリームの終わりに達した場合に発生します。
java.io.IOException - I/O エラーが発生した場合に発生します。
関連項目:
DataInput.readBoolean()

readByte

public byte readByte()
              throws java.io.IOException
1バイト入力します。 動作の詳細は CLDC の DataInput インタフェースの同名メソッドの説明を参照して下さい。

定義:
インタフェース java.io.DataInput 内の readByte
例外:
java.io.IOException - このオブジェクトが既にクローズされている場合に発生します。
java.io.IOException - FileEntity オブジェクトが既にクローズされている場合に発生します。
MediaNotFoundException
java.io.EOFException - 縺吶∋縺ヲ縺ョ繝舌う繝医r隱ュ縺ソ霎シ繧