JavaTM 2 Platform
Std. Ed. v1.3

java.io
クラス RandomAccessFile

java.lang.Object
  |
  +--java.io.RandomAccessFile
すべての実装インタフェース:
DataInput, DataOutput

public class RandomAccessFile
extends Object
implements DataOutput, DataInput

このクラスのインスタンスは、ランダムアクセスファイルからの読み込み/書き込みの両方をサポートします。ランダムアクセスファイルの動作は、ファイルシステムに格納されている大規模なバイト配列に似ています。想定される配列には、カーソルのような、「ファイルポインタ」と呼ばれるインデックスがあります。入力処理はファイルポインタ位置から始まる一連のバイトを読み込み、読み込んだバイト分だけファイルポインタを先に進めます。読み込み/書き込みモードで作成されている場合、ランダムアクセスファイルは出力処理にも使用できます。出力処理はファイルポインタ位置から始まる一連のバイトを書き込み、書き込んだバイト分だけファイルポインタを先に進めます。出力処理は、想定された配列の現在の末尾を越えて書き込む場合には、配列が拡張されます。ファイルポインタは getFilePointer メソッドにより読み込み、seek メソッドにより設定します。

このクラス内のすべての読み込みルーチンでは、必要なバイト数が読み込まれる前にファイルの終わりに達した場合は、通常、EOFException (IOException の一種) がスローされます。ファイルの終わりに達したという以外の理由でバイトの読み込みが失敗した場合は、EOFException 以外の IOException がスローされます。特に、ストリームが閉じられていると、IOException がスローされます。

導入されたバージョン:
JDK1.0

コンストラクタの概要
RandomAccessFile(File file, String mode)
          File 引数で指定されたファイルを読み込み元として、また場合によっては書き込み先として、ランダムアクセスファイルストリームを作成します。
RandomAccessFile(String name, String mode)
          指定された名前を持つファイルからの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを作成します。
 
メソッドの概要
 void close()
          このランダムアクセスファイルストリームを終了し、このストリームに関連するすべてのシステムリソースを解放します。
 FileDescriptor getFD()
          このストリームに関連する不透明なファイル記述子を返します。
 long getFilePointer()
          このファイルの現在のオフセットを返します。
 long length()
          このファイルの長さを返します。
 int read()
          このファイルから 1 バイトのデータを読み込みます。
 int read(byte[] b)
          このファイルから最大 b.length バイトのデータをバイト配列に読み込みます。
 int read(byte[] b, int off, int len)
          このファイルから最大 len バイトのデータをバイト配列に読み込みます。
 boolean readBoolean()
          このファイルから boolean を読み込みます。
 byte readByte()
          このファイルから符号付き 8 ビット値を読み込みます。
 char readChar()
          このファイルから Unicode 文字を読み込みます。
 double readDouble()
          このファイルから double を読み込みます。
 float readFloat()
          このファイルから float を読み込みます。
 void readFully(byte[] b)
          このファイルからバイト配列に、現在のファイルポインタ位置から始めて b.length バイトを読み込みます。
 void readFully(byte[] b, int off, int len)
          このファイルからバイト配列に、現在のファイルポインタ位置から始めて len バイトを読み込みます。
 int readInt()
          このファイルから符号付き 32 ビット整数を読み込みます。
 String readLine()
          このファイルの次のテキスト行を読み込みます。
 long readLong()
          このファイルから符号付きの 64 ビット整数を読み込みます。
 short readShort()
          符号付き 16 ビット数をこのファイルから読み込みます。
 int readUnsignedByte()
          このファイルから符号なし 8 ビット数を読み込みます。
 int readUnsignedShort()
          符号なし 16 ビット数をこのファイルから読み込みます。
 String readUTF()
          このファイルから文字列を読み込みます。
 void seek(long pos)
          このファイルの先頭を始点として、ファイルポインタのオフセットを設定します。
 void setLength(long newLength)
          このファイルの長さを設定します。
 int skipBytes(int n)
          n バイトの入力をスキップして、スキップしたバイトを破棄しようとします。
 void write(byte[] b)
          指定されたバイト配列からこのファイルに、現在のファイルポインタ位置から開始して b.length バイトを書き込みます。
 void write(byte[] b, int off, int len)
          指定されたバイト配列のオフセット off から len バイトを、このファイルに書き込みます。
 void write(int b)
          指定されたバイトをファイルに書き込みます。
 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.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

RandomAccessFile

public RandomAccessFile(String name,
                        String mode)
                 throws FileNotFoundException
指定された名前を持つファイルからの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを作成します。ファイルへの接続を表す、新しい FileDescriptor オブジェクトが生成されます。

mode 引数は "r" または "rw" になります。"r" はファイルを入力専用で開くことを、"rw" は入出力両用で開くことを表します。ファイルが "r" モードで開かれている場合、このオブジェクトの書き込みメソッドは常に IOException をスローします。モードが "rw" の場合、ファイルが存在しないときは、そのファイルを作成しようとします。name 引数がディレクトリを示している場合は、IOException がスローされます。

セキュリティマネージャが存在する場合、ファイルへの読み込みアクセスが許可されているかどうかを確認するために、引数として name をとる、セキュリティマネージャの checkRead メソッドが呼び出されます。モードが "rw" の場合、ファイルへの書き込みアクセスが許可されているかどうかを確認するために、引数として name をとる、セキュリティマネージャの checkWrite メソッドも呼び出されます。

パラメータ:
name - システムに依存するファイル名
mode - アクセスモード
例外:
IllegalArgumentException - mode 引数が "r" または "rw" でない場合
FileNotFoundException - ファイルは存在するが通常のファイルではなくディレクトリである場合や、ほかの理由でファイルを開くこと、あるいは作成することができない場合
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkRead メソッドがファイルへの読み込みアクセスを拒否した場合、あるいはモードが "rw" でセキュリティマネージャの checkWrite メソッドがファイルへの書き込みアクセスを拒否した場合
関連項目:
SecurityException, SecurityManager.checkRead(java.lang.String), SecurityManager.checkWrite(java.lang.String)

RandomAccessFile

public RandomAccessFile(File file,
                        String mode)
                 throws FileNotFoundException
File 引数で指定されたファイルを読み込み元として、また場合によっては書き込み先として、ランダムアクセスファイルストリームを作成します。このファイル接続を表す、新しい FileDescriptor オブジェクトが生成されます。

mode 引数は "r" または "rw" になります。"r" はファイルを入力専用で開くことを表し、"rw" は入出力両用で開くことを表します。ファイルが "r" モードで開かれている場合、このオブジェクトの書き込みメソッドは常に IOException をスローします。モードが "rw" の場合、ファイルが存在しないときは、そのファイルを作成しようとします。file 引数がディレクトリを示している場合は、IOException がスローされます。

セキュリティマネージャが存在する場合、ファイルへの読み込みアクセスが許可されているかどうかを確認するために、引数として file のパス名をとる、セキュリティマネージャの checkRead メソッドが呼び出されます。モードが "rw" の場合、ファイルへの書き込みアクセスが許可されているかどうかを確認するために path 引数をとる、セキュリティマネージャの checkWrite メソッドも呼び出されます。

パラメータ:
file - ファイルオブジェクト
mode - アクセスモード
例外:
IllegalArgumentException - mode 引数が "r" または "rw" でない場合
FileNotFoundException - ファイルは存在するが通常のファイルではなくディレクトリである場合や、ほかの理由でファイルを開くこと、あるいは作成することができない場合
SecurityException - セキュリティマネージャが存在する場合に、セキュリティマネージャの checkRead メソッドがファイルへの読み込みアクセスを拒否した場合、あるいはモードが "rw" でセキュリティマネージャの checkWrite メソッドがファイルへの書き込みアクセスを拒否した場合
関連項目:
File.getPath(), SecurityManager.checkRead(java.lang.String), SecurityManager.checkWrite(java.lang.String)
メソッドの詳細

getFD

public final FileDescriptor getFD()
                           throws IOException
このストリームに関連する不透明なファイル記述子を返します。
戻り値:
このストリームに関連するファイル記述子オブジェクト
例外:
IOException - 入出力エラーが発生した場合
関連項目:
FileDescriptor

read

public int read()
         throws IOException
このファイルから 1 バイトのデータを読み込みます。そのバイトは、0 〜 255 (0x00-0x0ff) の範囲の整数として返されます。このメソッドは、有効な入力がまだない場合はブロックします。

RandomAccessFileInputStream のサブクラスではなく、このメソッドの動作は InputStreamInputStream.read() メソッドとまったく同じです。

戻り値:
データの次のバイト。ストリームの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合。ファイルの終わりに達した場合はスローされない

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
このファイルから最大 len バイトのデータをバイト配列に読み込みます。このメソッドは、少なくとも 1 バイトの入力データが得られるようになるまでブロックします。

RandomAccessFileInputStream のサブクラスではなく、このメソッドの動作は InputStreamInputStream.read(byte[], int, int) メソッドとまったく同じです。

パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合

read

public int read(byte[] b)
         throws IOException
このファイルから最大 b.length バイトのデータをバイト配列に読み込みます。このメソッドは、少なくとも 1 バイトの入力データが得られるようになるまでブロックします。

RandomAccessFileInputStream のサブクラスではなく、このメソッドの動作は InputStreamInputStream.read(byte[]) メソッドとまったく同じです。

パラメータ:
b - データの読み込み先のバッファ
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合

readFully

public final void readFully(byte[] b)
                     throws IOException
このファイルからバイト配列に、現在のファイルポインタ位置から始めて b.length バイトを読み込みます。このメソッドは、要求されたバイト数になるまでファイルからの読み込みを繰り返します。このメソッドは、要求されたバイト数を読み込むか、ストリームの終わりを検出するか、または例外がスローされるまでブロックします。
定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
例外:
EOFException - すべてのファイルを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readFully

public final void readFully(byte[] b,
                            int off,
                            int len)
                     throws IOException
このファイルからバイト配列に、現在のファイルポインタ位置から始めて len バイトを読み込みます。このメソッドは、要求されたバイト数が読み込まれるまでファイルから繰り返し読み込みます。このメソッドは、要求されたバイト数を読み込むか、ストリームの終わりを検出するか、または例外がスローされるまでブロックします。
定義:
インタフェース DataInput 内の readFully
パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込むバイト数
例外:
EOFException - すべてのファイルを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

skipBytes

public int skipBytes(int n)
              throws IOException
n バイトの入力をスキップして、スキップしたバイトを破棄しようとします。

このメソッドは、n より少ないバイト数 (ゼロの場合もある) しかスキップしない場合もあります。これは、いくつかの条件のうちの 1 つに該当した場合に発生します。n バイト分をスキップする前にファイルの終わりに達してしまった場合もその 1 つです。このメソッドが EOFException をスローすることはありません。スキップされた実際のバイト数が返されます。n が負の値の場合、バイトはスキップされません。

定義:
インタフェース DataInput 内の skipBytes
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合

write

public void write(int b)
           throws IOException
指定されたバイトをファイルに書き込みます。書き込みは、現在のファイルポインタ位置から開始されます。
定義:
インタフェース DataOutput 内の write
パラメータ:
b - 書き込まれる byte
例外:
IOException - 入出力エラーが発生した場合

write

public void write(byte[] b)
           throws IOException
指定されたバイト配列からこのファイルに、現在のファイルポインタ位置から開始して b.length バイトを書き込みます。
定義:
インタフェース DataOutput 内の write
パラメータ:
b - データ
例外:
IOException - 入出力エラーが発生した場合

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
指定されたバイト配列のオフセット off から len バイトを、このファイルに書き込みます。
定義:
インタフェース DataOutput 内の write
パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数
例外:
IOException - 入出力エラーが発生した場合

getFilePointer

public long getFilePointer()
                    throws IOException
このファイルの現在のオフセットを返します。
戻り値:
ファイルの先頭からのバイト単位のオフセットで、ここから次の読み込みまたは書き込みが発生する
例外:
IOException - 入出力エラーが発生した場合

seek

public void seek(long pos)
          throws IOException
このファイルの先頭を始点として、ファイルポインタのオフセットを設定します。次の読み込みまたは書き込みは、この位置から行われます。オフセットは、ファイルの終わりを越える位置に設定することもできます。この設定によりファイルの長さが変わることはありません。ファイルの長さが変更されるのは、ファイルの終わりを越える位置にオフセットを設定したあと、書き込みを行なったときです。
パラメータ:
pos - ファイルの先頭を始点とした、バイト単位のオフセット位置。この位置にファイルポインタが設定される
例外:
IOException - pos0 より小さい場合、あるいは入出力エラーが発生した場合

length

public long length()
            throws IOException
このファイルの長さを返します。
戻り値:
バイト単位の、このファイルの長さ
例外:
IOException - 入出力エラーが発生した場合

setLength

public void setLength(long newLength)
               throws IOException
このファイルの長さを設定します。

length メソッドで返されるファイルの現在の長さが newLength 引数よりも大きい場合は、newLength を超える分は切り捨てられます。この場合、getFilePointer メソッドで返されるファイルオフセットが newLength よりも大きければ、このメソッドが復帰したあとのオフセットは newLength に等しくなります。

length メソッドで返されるファイルの現在の長さが newLength 引数よりも小さい場合は、ファイルが拡張されます。この場合、ファイルの拡張部分の内容は定義されません。

パラメータ:
newLength - ファイルの必要な長さ
例外:
IOException - 入出力エラーが発生した場合
導入されたバージョン:
1.2

close

public void close()
           throws IOException
このランダムアクセスファイルストリームを終了し、このストリームに関連するすべてのシステムリソースを解放します。閉じられたランダムアクセスファイルは、入力処理または出力処理を実行できません。また、それを開き直すこともできません。
例外:
IOException - 入出力エラーが発生した場合

readBoolean

public final boolean readBoolean()
                          throws IOException
このファイルから boolean を読み込みます。このメソッドは、ファイルの現在のファイルポインタ位置から始めて 1 つのバイトを読み込みます。値 0false を表します。その他の値は true を表します。このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。
定義:
インタフェース DataInput 内の readBoolean
戻り値:
読み込まれた boolean の値
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readByte

public final byte readByte()
                    throws IOException
このファイルから符号付き 8 ビット値を読み込みます。このメソッドは、ファイルの現在のファイルポインタ位置から始めて 1 バイトを読み込みます。読み込まれるバイトが b の場合、0 <= b <= 255 であれば、結果は次のようになります。
     (byte)(b)
 

このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readByte
戻り値:
符号付き 8 ビット byte として解釈される、このファイルの次のバイト
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readUnsignedByte

public final int readUnsignedByte()
                           throws IOException
このファイルから符号なし 8 ビット数を読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 1 バイトを読み込み、そのバイトを返します。

このメソッドは、バイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUnsignedByte
戻り値:
符号なしの 8 ビット数として解釈される、このファイルの次のバイト
例外:
EOFException - このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readShort

public final short readShort()
                      throws IOException
符号付き 16 ビット数をこのファイルから読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 2 バイトを読み込みます。読み込まれた 2 バイトが b1b2 の順で、2 つの各値が 0255 の範囲内の場合、結果は以下と同じになります。
     (short)((b1 << 8) | b2)
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readShort
戻り値:
符号付き 16 ビット数として解釈される、このファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readUnsignedShort

public final int readUnsignedShort()
                            throws IOException
符号なし 16 ビット数をこのファイルから読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 2 バイトを読み込みます。読み込まれたバイトが b1b2 の順で、0 <= b1, b2 <= 255 の場合、結果は以下と同じになります。
     (b1 << 8) | b2
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUnsignedShort
戻り値:
符号なし 16 ビット整数として解釈される、このファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readChar

public final char readChar()
                    throws IOException
このファイルから Unicode 文字を読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 2 バイトを読み込みます。読み込まれたバイトが b1b2 の順で、0 <= b1, b2 <= 255 の場合、結果は以下と同じになります。
     (char)((b1 << 8) | b2)
 

このメソッドは、2 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readChar
戻り値:
Unicode 文字として解釈される、このファイルの次の 2 バイト
例外:
EOFException - 2 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readInt

public final int readInt()
                  throws IOException
このファイルから符号付き 32 ビット整数を読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 4 バイトを読み込みます。読み込まれたバイトが b1b2b3、および b4 の順で、0 <= b1, b2, b3, b4 <= 255 の場合、結果は以下と同じになります。
     (b1 << 24) | (b2 << 16) + (b3 << 8) + b4
 

このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readInt
戻り値:
int として解釈される、このファイルの次の 4 バイト
例外:
EOFException - 4 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readLong

public final long readLong()
                    throws IOException
このファイルから符号付きの 64 ビット整数を読み込みます。このメソッドは、このファイルの現在のファイルポインタ位置から始めて 8 バイトを読み込みます。読み込まれたバイトが b1b2b3b4b5b6b7、および b8 の順で、以下の場合、
     0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
 

結果は以下と同じになります。

     ((long)b1 << 56) + ((long)b2 << 48)
     + ((long)b3 << 40) + ((long)b4 << 32)
     + ((long)b5 << 24) + ((long)b6 << 16)
     + ((long)b7 << 8) + b8
 

このメソッドは、8 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readLong
戻り値:
long として解釈される、このファイルの次の 8 バイト
例外:
EOFException - 8 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合

readFloat

public final float readFloat()
                      throws IOException
このファイルから float を読み込みます。このメソッドは、readInt メソッドを使うのと同じように現在のファイルポインタ位置から始めて int 値を読み込んでから、Float クラスの intBitsToFloat メソッドを使ってその intfloat に変換します。

このメソッドは、4 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readFloat
戻り値:
float として解釈される、このファイルの次の 4 バイト
例外:
EOFException - 4 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readInt(), Float.intBitsToFloat(int)

readDouble

public final double readDouble()
                        throws IOException
このファイルから double を読み込みます。このメソッドは、readLong メソッドを使うのと同じように現在のファイルポインタ位置から始めて long 値を読み込んでから、Double クラスの longBitsToDouble メソッドを使ってその longdouble に変換します。

このメソッドは、8 バイトを読み込むか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readDouble
戻り値:
double として解釈される、このファイルの次の 8 バイト
例外:
EOFException - 8 バイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
関連項目:
readLong(), Double.longBitsToDouble(long)

readLine

public final String readLine()
                      throws IOException
このファイルの次のテキスト行を読み込みます。このメソッドは、ファイルの現在のファイルポインタから始めて行末記号またはファイルの終わりに達するまで、連続的にバイトを読み込みます。文字の下位 8 ビットのバイト値を取得し、上位 8 ビットをゼロに設定することで、各バイトは文字に変換されます。そのため、このメソッドは Unicode 文字セットを完全にはサポートしていません。

テキスト行は、復帰文字 ('\r')、改行文字 ('\n')、復帰文字の直後に改行文字という組み合わせ、またはファイルの終わりで終了します。行末文字は破棄され、返される文字列の一部には含まれません。

このメソッドは、改行文字が読み込まれるまで、復帰とそれに続くバイトが読み込まれる (改行かどうかを確認する) まで、ファイルの終わりに達するまで、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readLine
戻り値:
このファイルからの次のテキスト行。ファイルの終わりが検出されるまでに 1 バイトも読み込めなかった場合は null
例外:
IOException - 入出力エラーが発生した場合

readUTF

public final String readUTF()
                     throws IOException
このファイルから文字列を読み込みます。文字列は、変更された UTF-8 形式を使ってコード化されています。

readUnsignedShort を使った場合と同じように、現在のファイルポインタ位置から始めて、最初の 2 バイトが読み込まれます。この値が示すのは、コード化された文字列内の後続バイト数です。結果の文字列の長さではありません。後続バイトは UTF-8 形式でコード化された文字として解釈され、文字に変換されます。

このメソッドは、すべてのバイトを読み込み終わるか、ストリームの終わりが検出されるか、または例外がスローされるまでブロックします。

定義:
インタフェース DataInput 内の readUTF
戻り値:
Unicode 文字列
例外:
EOFException - すべてのバイトを読み込む前に、このファイルの終わりに達した場合
IOException - 入出力エラーが発生した場合
UTFDataFormatException - バイトが有効な UTF-8 の Unicode 文字列を表さない場合
関連項目:
readUnsignedShort()

writeBoolean

public final void writeBoolean(boolean v)
                        throws IOException
boolean を 1 バイト値としてファイルに書き込みます。値 true は値 (byte)1 として書き込まれ、値 false は値 (byte)0 として書き込まれます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeBoolean
パラメータ:
v - 書き込まれる boolean
例外:
IOException - 入出力エラーが発生した場合

writeByte

public final void writeByte(int v)
                     throws IOException
byte を 1 バイト値としてファイルに書き込みます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeByte
パラメータ:
v - 書き込まれる byte
例外:
IOException - 入出力エラーが発生した場合

writeShort

public final void writeShort(int v)
                      throws IOException
short を 2 バイト値としてファイルに書き込みます (上位バイトから先に書き込む)。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeShort
パラメータ:
v - 書き込まれる short
例外:
IOException - 入出力エラーが発生した場合

writeChar

public final void writeChar(int v)
                     throws IOException
char を 2 バイト値としてファイルに書き込みます (上位バイトから先に書き込む)。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeChar
パラメータ:
v - 書き込まれる char
例外:
IOException - 入出力エラーが発生した場合

writeInt

public final void writeInt(int v)
                    throws IOException
int を 4 バイト値としてファイルに書き込みます。(上位バイトから先に書き込む)。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeInt
パラメータ:
v - 書き込まれる int
例外:
IOException - 入出力エラーが発生した場合

writeLong

public final void writeLong(long v)
                     throws IOException
long を 8 バイト値としてファイルに書き込みます。(上位バイトから先に書き込む)。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeLong
パラメータ:
v - 書き込まれる long
例外:
IOException - 入出力エラーが発生した場合

writeFloat

public final void writeFloat(float v)
                      throws IOException
Float クラスの floatToIntBits メソッドを使って float 引数を int に変換してから、その int 値を 4 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeFloat
パラメータ:
v - 書き込まれる float
例外:
IOException - 入出力エラーが発生した場合
関連項目:
Float.floatToIntBits(float)

writeDouble

public final void writeDouble(double v)
                       throws IOException
Double クラスの doubleToLongBits メソッドを使って double 引数を long に変換してから、その long 値を 8 バイト値として上位バイトから先にファイルに書き込みます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeDouble
パラメータ:
v - 書き込まれる double
例外:
IOException - 入出力エラーが発生した場合
関連項目:
Double.doubleToLongBits(double)

writeBytes

public final void writeBytes(String s)
                      throws IOException
文字列を一連のバイトとしてファイルに書き込みます。文字列内の各文字は、上位 8 ビットを破棄して順に書き込まれます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeBytes
パラメータ:
s - 書き込まれるバイトの文字列
例外:
IOException - 入出力エラーが発生した場合

writeChars

public final void writeChars(String s)
                      throws IOException
文字列を一連の文字としてファイルに書き込みます。各文字は、writeChar メソッドのようにしてデータ出力ストリームに書き込まれます。書き込みは、ファイルポインタの現在位置から開始されます。
定義:
インタフェース DataOutput 内の writeChars
パラメータ:
s - 書き込まれる String
例外:
IOException - 入出力エラーが発生した場合
関連項目:
writeChar(int)

writeUTF

public final void writeUTF(String str)
                    throws IOException
マシンに依存しない UTF-8 エンコーディングを使って、文字列をファイルに書き込みます。

まず、後続のバイト数を指定する writeShort メソッドを使った場合と同じように、現在のファイルポインタ位置から始めて 2 バイトがファイルに書き込まれます。この値は、実際に書き込まれるバイト数です。文字列の長さではありません。長さに続いて、文字列の各文字が、各文字ごとの UTF-8 エンコーディングを使って順に出力されます。

定義:
インタフェース DataOutput 内の writeUTF
パラメータ:
str - 書き込まれる文字列
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.