全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.io.RandomAccessFile

java.lang.Object
   |
   +----java.io.RandomAccessFile

public class RandomAccessFile
extends Object
implements DataOutput, DataInput
このクラスのインスタンスは、ランダムアクセスファイルからの読み込み/書き込みの両方をサポートします。アプリケーションで、次の読み込み/書き込み位置を変更できます。このクラスには、読み込み専用または読み込み/書き込み両用のファイルへの特定アクセスモードを指定できるメソッドがあり、これでセキュリティを提供します。


Constructor Index

 o RandomAccessFile(File, String)
File 引数で指定されたファイルからの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを生成する。
 o RandomAccessFile(String, String)
指定された名前を持つファイルからの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを生成する。

Method Index

 o close()
このランダムアクセスファイルストリームを終了し、このストリームに関連したシステムリソースをすべて開放する。
 o getFD()
このストリームに関連した、不透明なファイル記述子を返す。
 o getFilePointer()
このファイル内の現在のオフセットを返す。
 o length()
このファイルの長さを返す。
 o read()
このファイルからバイトを読み込む。
 o read(byte[])
このファイルから最高で b.length バイトのデータをバイト配列に読み込む。
 o read(byte[], int, int)
このファイルから最高で len バイトのデータをバイト配列に読み込む。
 o readBoolean()
このファイルから boolean を読み込む。
 o readByte()
このファイルから符合付きの 8 ビット値を読み込む。
 o readChar()
このファイルから Unicode 文字を読み込む。
 o readDouble()
このファイルから double を読み込む。
 o readFloat()
このファイルから float を読み込む。
 o readFully(byte[])
このファイルから b.length バイトをバイト配列に読み込む。
 o readFully(byte[], int, int)
このファイルから len バイトをバイト配列に読み込む。
 o readInt()
このファイルから符合付きの 32 ビット整数を読み込む。
 o readLine()
このファイルがら次のテキストラインを読み込む。
 o readLong()
このファイルから符合付きの 64 ビット整数を読み込む。
 o readShort()
このファイルから符合付きの 16 ビット数値を読み込む。
 o readUnsignedByte()
このファイルから符合なしの 8 ビット数値を読み込む。
 o readUnsignedShort()
このファイルから符合付きの 16 ビット数値を読み込む。
 o readUTF()
このファイルから文字列を読み込む。
 o seek(long)
次の読み込み/書き込みが発生する、このファイルの先頭からのオフセットを設定する。
 o skipBytes(int)
n バイトだけ入力をスキップする。
 o write(byte[])
指定のバイト配列のオフセット off から b.length バイトを、このファイルに書き込む。
 o write(byte[], int, int)
指定のバイト配列のオフセット off から len バイトを、このファイルに書き込む。
 o write(int)
指定バイトをこのファイルに書き込む。
 o writeBoolean(boolean)
boolean を 1 バイトの値としてファイルに書き込む。
 o writeByte(int)
byte を 1 バイトの値としてファイルに書き込む。
 o writeBytes(String)
文字列を一連のバイトとしてファイルに書き込む。
 o writeChar(int)
char を 2 バイトの値としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeChars(String)
文字列を一連の文字としてファイルに書き込む。
 o writeDouble(double)
クラス DoubledoubleToLongBits メソッドを使って double 変数を long に変換したあとで、この long 値を 8 バイトの数としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeFloat(float)
クラス FloatfloatToIntBits メソッドを使って float 引数を int に変換したあとで、この int 値を 4 バイトの数としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeInt(int)
int を 4 バイトの値としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeLong(long)
long を 8 バイトの値としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeShort(int)
short を 2 バイトの値としてファイルに書き込む(高位バイトを先に書き込む)。
 o writeUTF(String)
マシン独立型の UTF-8 コード化を使って、文字列をファイルに書き込む。

Constructors

 o RandomAccessFile
  public RandomAccessFile(String name,
                          String mode) throws IOException
指定名を持つファイルからの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを生成します。

mode 引数は必ず、"r" (入力用にファイルを開く) または "rw" (入出力用にファイルを開く) のどちらかです。

パラメータ:
name - システム依存型のファイル名
mode - アクセスモード
例外: IllegalArgumentException
mode 引数が "r" または "rw" でない場合。
例外: IOException
I/O エラーが発生した場合
例外: SecurityException
セキュリティマネージャが存在し、アプリケーションがファイルへの読み込みアクセスをできるか確認するため、name 引数を指定してその checkRead メソッドが呼び出された場合。mode 引数が "rw" の場合は、アプリケーションがファイルへの書き込みアクセスをできるか確認するため、name 引数を指定して checkWrite メソッドも呼び出される。上記 2 つの呼び出しのいずれかが、結果としてセキュリティ例外になる場合がある。
参照:
SecurityException, checkRead
 o RandomAccessFile
  public RandomAccessFile(File file,
                          String mode) throws IOException
File 引数が指定するファイルへの読み込み、およびオプションで書き込みを行うランダムアクセスファイルストリームを生成します。

mode 引数は必ず、"r" (入力用にファイルを開く) または "rw" (入出力用にファイルを開く) のどちらかです。

パラメータ:
file - ファイルオブジェクト
mode - アクセスモード
例外: IllegalArgumentException
mode 引数が "r" または "rw" でない場合。
例外: IOException
I/O エラーが発生した場合
例外: SecurityException
セキュリティマネージャが存在し、アプリケーションがファイルへの読み込みアクセスをできるか確認するため、File 引数の pathname を指定してその checkRead メソッドが呼び出された場合。mode 引数が "rw" の場合は、アプリケーションがファイルへの書き込みアクセスをできるか確認するため、pathname を指定して checkWrite メソッドも呼び出される。
参照:
getPath, checkRead

Methods

 o getFD
  public final FileDescriptor getFD() throws IOException
このストリームに関連した不透明なファイル記述子を返します。

返り値:
このストリームに関連したファイル記述子オブジェクト
例外: IOException
I/O エラーが発生した場合
参照:
FileDescriptor
 o read
 public native int read() throws IOException
このファイルから 1 バイトのデータを読み込みます。入力できない場合は、このメソッドはブロックします。

返り値:
データの次のバイト、またはファイルの終わりに達した場合は -1
例外: IOException
I/O エラーが発生した場合
 o read
  public int read(byte b[],
                  int off,
                  int len) throws IOException
このファイルから最高で len バイトのデータをバイト配列に読み込みます。最低でも 1 バイトのデータを入力できなければ、このメソッドはブロックします。

パラメータ:
b - データを読み込み先バッファ
off - データの開始オフセット
len - 読み込むバイトの最大数
返り値:
バッファに読み込まれた合計バイト数、またはファイルの終わりに達したためデータがない場合は -1
例外: IOException
I/O エラーが発生した場合
 o read
  public int read(byte b[]) throws IOException
このファイルから最高で b.length バイトのデータをバイト配列に読み込みます。最低でも 1 バイトのデータを入力できなければ、このメソッドはブロックします。

パラメータ:
b - データの読み込み先バッファ
返り値:
バッファに読み込まれた合計バイト数、またはファイルの終わりに達したためデータがない場合は -1
例外: IOException
I/O エラーが発生した場合
 o readFully
  public final void readFully(byte b[]) throws IOException
このファイルから b.length バイトをバイト配列に読み込みます。このメソッドは、すべてのバイトを読み込むまで繰り返してファイルを読み込みます。このメソッドは、全てのバイトを読み込み終わるか、ストリームの終端が検出されたか、または例外がスローされるまでブロックします。

パラメータ:
b - データの読み込み先バッファ
例外: EOFException
すべてのバイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readFully
  public final void readFully(byte b[],
                              int off,
                              int len) throws IOException
このファイルから len バイトだけバイト配列に読み込みます。このメソッドは、すべてのバイトを読み込むまで繰り返してファイルを読み込みます。このメソッドは、全てのバイトを読み込み終わるか、ストリームの終端が検出されたか、または例外がスローされるまでブロックします。

パラメータ:
b - データの読み込み先バッファ
off - データの開始オフセット
len - 読み込むバイト数
例外: EOFException
すべてのファイルを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o skipBytes
  public int skipBytes(int n) throws IOException
n バイトだけ入力をスキップします。

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

パラメータ:
n - スキップするバイト数
返り値:
スキップしたバイト数、これは必ず n です。
例外: EOFException
すべてのバイトをスキップする前に、ファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o write
 public native void write(int b) throws IOException
指定バイト数をファイルに書き込みます。

パラメータ:
b - 書き込む byte
例外: IOException
I/O エラーが発生した場合
 o write
  public void write(byte b[]) throws IOException
指定のバイト配列のオフセット off から b.length バイトを、このファイルに書き込みます。

パラメータ:
b - データ
例外: IOException
I/O エラーが発生した場合
 o write
  public void write(byte b[],
                    int off,
                    int len) throws IOException
指定のバイト配列のオフセット off から len バイトを、このファイルに書き込みます。

パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数
例外: IOException
I/O エラーが発生した場合
 o getFilePointer
 public native long getFilePointer() throws IOException
このファイル内の現在のオフセットを返します。

返り値:
次の読み込み/書き込みが発生する、ファイルの先頭からのオフセット。(バイト単位)
例外: IOException
I/O エラーが発生した場合
 o seek
 public native void seek(long pos) throws IOException
次の読み込み/書き込みが発生する、このファイルの先頭からのオフセットを設定します。

パラメータ:
pos - 絶対位置
例外: IOException
I/O エラーが発生した場合
 o length
 public native long length() throws IOException
このファイルの長さを返します。

返り値:
このファイルの長さ
例外: IOException
I/O エラーが発生した場合
 o close
 public native void close() throws IOException
このランダムアクセスファイルストリームを終了し、このストリームに関連したシステムリソースをすべて開放します。

例外: IOException
I/O エラーが発生した場合
 o readBoolean
  public final boolean readBoolean() throws IOException
このファイルから boolean を読み込みます。このメソッドは、ファイルから単一バイトを読み込みます。値 0false を表します。その他の値は true を表します。このメソッドは、全てのバイトを読み込み終わるか、ストリームの終端が検出されたか、または例外がスローされるまでブロックします。

返り値:
読み込んだ boolean
例外: EOFException
ファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readByte
  public final byte readByte() throws IOException
このファイルから符合付きの 8 ビット値を読み込みます。このメソッドは、ファイルから 1 バイトを読み込みます。読み込まれたバイトが b で、0 <= b <= 255 のとき、以下の結果になります:
     (byte)(b)
 

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

返り値:
符合付き 8 ビット byte と見なされる、このファイルの次のバイト
例外: EOFException
このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readUnsignedByte
  public final int readUnsignedByte() throws IOException
このファイルから符合のない 8 ビット数を読み込みます。このメソッドはファイルから 1 バイトを読み込み、このバイトを返します。

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

返り値:
符合なしの 8 ビット数として解釈される、このファイルの次のバイト
例外: EOFException
このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readShort
  public final short readShort() throws IOException
このファイルから符合付き 16 ビット数を読み込みます。このメソッドは、ファイルから 2 バイトを読み込みます。読み込まれた 2 バイトが b1b2 の順で、2 つの各値が 0 から 255 の範囲内の場合、結果は以下と同等になります。
     (short)((b1 << 8) | b2)
 

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

返り値:
符合付き 16 ビット数として解釈される、このファイルの次の 2 バイト
例外: EOFException
2 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readUnsignedShort
  public final int readUnsignedShort() throws IOException
このファイルから符合なしの 16 ビット数を読み込みます。このメソッドは、ファイルから 2 バイトを読み込みます。読み込まれたバイトが b1b2 の順で、 0 <= b1, b2 <= 255 の場合、結果は以下と同等になります。
     (b1 << 8) | b2
 

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

返り値:
符合なし 16 ビット整数として解釈される、このファイルの次の 2 バイト
例外: EOFException
2 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readChar
  public final char readChar() throws IOException
このファイルから Unicode 文字を読み込みます。このメソッドは、ファイルから 2 バイトを読み込みます。読み込まれたバイトが b1b2 の順で、 0 <= b1, b2 <= 255 の場合、結果は以下と同等になります。
     (char)((b1 << 8) | b2)
 

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

返り値:
Unicode 文字とみなされる、このファイルの次の 2 バイト
例外: EOFException
2 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readInt
  public final int readInt() throws IOException
このファイルから符合付き 32 ビット整数を読み込みます。このメソッドは、ファイルから 4 バイトを読み込みます。読み込まれたバイトが b1, b2, b3, and b4 の順で、0 <= b1, b2, b3, b4 <= 255 の場合、結果は以下と同等になります。
     (b1 << 24) | (b2 << 16) + (b3 << 8) + b4
 

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

返り値:
int と解釈される、このファイルの次の 4 バイト
例外: EOFException
4 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readLong
  public final long readLong() throws IOException
このファイルから符合付きの 64 ビット整数を読み込みます。このメソッドは、ファイルから 8 ビットを読み込みます。読み込まれたバイトが b1, b2, b3, b4, b5, b6, b7, および 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 バイトを読み込むか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。

返り値:
long として解釈される、このファイルの 次の 8 バイト
例外: EOFException
8 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
 o readFloat
  public final float readFloat() throws IOException
このファイルから float を読み込みます。このメソッドでは、readInt メソッドのようにして int 値を読み込み、そのあとでクラス FloatintBitsToFloat メソッドを使ってこの intfloat に変換します。

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

返り値:
float として解釈される、このファイルの次の 4 バイト
例外: EOFException
4 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
参照:
readInt, intBitsToFloat
 o readDouble
  public final double readDouble() throws IOException
このファイルから double を読み込みます。このメソッドでは、readLong メソッドのようにして long 値を読み込み、そのあとでクラス DoublelongBitsToDouble メソッドを使ってこの longdouble に変換します。

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

返り値:
double として解釈される、このファイルの次の 8 バイト
例外: EOFException
8 バイトを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
参照:
readLong, longBitsToDouble
 o readLine
  public final String readLine() throws IOException
このファイルの次のテキストラインを読み込みます。このメソッドは、テキストラインの終わりに達するまで、ファイルからバイトを続けて読み込みます。

テキストラインは、復帰文字 ('\r')、改行文字 ('\n')、直後に改行が続く復帰文字、または入力ストリームの終わりを使って終了します。ライン終了文字がある場合は、返される文字列の一部に含まれます。

改行を読み込むまで、復帰文字とその後に続くバイトが読み込まれるまで (これが改行かどうかを確認するため)か、ストリームの終端が検出されか、または例外がスローされるまでブロックします。

返り値:
このファイルの次のテキストライン
例外: IOException
I/O エラーが発生した場合
 o readUTF
  public final String readUTF() throws IOException
このファイルから文字列を読み込みます。文字列は、変更した UTF-8 形式を使ってコード化されています。

最初の 2 バイトは、readUnsignedShort のようにして読み込まれます。この値が示すのは、コード化された文字列内の後続バイト数です。結果文字列の長さではありません。後続バイトは UTF-8 形式のコード化バイトとして解釈され、文字に変換されます。

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

返り値:
Unicode 文字列
例外: EOFException
すべてのファイルを読み込む前に、このファイルの終わりに達した場合
例外: IOException
I/O エラーが発生した場合
例外: UTFDataFormatException
バイトが有効な UTF-8 の Unicode 文字列を表さない場合
参照:
readUnsignedShort
 o writeBoolean
  public final void writeBoolean(boolean v) throws IOException
boolean を 1 バイト値としてファイルに書き込みます。値 true は値 (byte)1 として書き込まれ、値 false は値 (byte)0 として書き込まれます。

パラメータ:
v - 書き込む boolean
例外: IOException
I/O エラーが発生した場合
 o writeByte
  public final void writeByte(int v) throws IOException
byte を 1 バイト値としてファイルに書き込みます。

パラメータ:
v - 書き込む byte
例外: IOException
I/O エラーが発生した場合
 o writeShort
  public final void writeShort(int v) throws IOException
short を 2 バイト値としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む short
例外: IOException
I/O エラーが発生した場合
 o writeChar
  public final void writeChar(int v) throws IOException
char を 2 バイト値としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む char
例外: IOException
I/O エラーが発生した場合
 o writeInt
  public final void writeInt(int v) throws IOException
int を 4 バイト値としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む int
例外: IOException
I/O エラーが発生した場合
 o writeLong
  public final void writeLong(long v) throws IOException
long を 8 バイト値としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む long
例外: IOException
I/O エラーが発生した場合
 o writeFloat
  public final void writeFloat(float v) throws IOException
クラス FloatfloatToIntBits メソッドを使って float 引数を int に変換したあとで、この int 値を 4 バイトの数としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む float
例外: IOException
I/O エラーが発生した場合
参照:
floatToIntBits
 o writeDouble
  public final void writeDouble(double v) throws IOException
クラス DoubledoubleToLongBits メソッドを使って double 引数を long に変換したあとで、この long 値を 8 バイトの数としてファイルに書き込みます。(高位バイトから先に書き込みます)。

パラメータ:
v - 書き込む double
例外: IOException
I/O エラーが発生した場合
参照:
doubleToLongBits
 o writeBytes
  public final void writeBytes(String s) throws IOException
文字列を一連のバイトとしてファイルに書き込みます。文字列内の各文字は、高位 8 ビットを破棄して順に書き込まれます。

パラメータ:
s - 書き込むバイトの文字列
例外: IOException
I/O エラーが発生した場合
 o writeChars
  public final void writeChars(String s) throws IOException
文字列を一連の文字としてファイルに書き込みます。各文字は、writeChar メソッドのようにしてデータ出力ストリームに書き込まれます。

パラメータ:
s - 書き込む String (文字列)
例外: IOException
I/O エラーが発生した場合
参照:
writeChar
 o writeUTF
  public final void writeUTF(String str) throws IOException
マシン独立型の UTF-8 コード化を使って、文字列をファイルに書き込みます。

後続のバイト数を示す writeShort メソッドのようにして、最初に 2 バイトがファイルに書き込まれます。この値は、実際に書き込まれるバイト数です。文字列の長さではありません。長さに続いて、文字列の各文字が、各文字ごとの UTF-8 コード化を使って順に出力されます。

パラメータ:
str - 書き込む文字列
例外: IOException
I/O エラーが発生した場合

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス