Previous | Next | Trail Map | Writing Java Programs | 入出力ストリーム


ランダムアクセスファイルの使用

RandomAccessFile クラスは DataInput と DataOutput インタフェースの両方を実装するので、読み込みと書き込みの両方に使用される。 作成する時に開くために,ネイティブなファイルシステム上のファイルを指定するという点で、RandomAccessFile は FileInputStream と FileOutputStream に類似している。 ファイル名あるいはFile(in the API reference documentation)オブジェクトを使用して、これを行うことができる。 RandomAccessFile を作成する時は、ファイルを読み込むだけなのか、あるいは書き込みも行うのかなどを示さなくてはならない。 (ファイルを書くためにはファイルを読むことが可能でなければならない。) 次の Java コードは farrago.txt と指定されたファイルを読むために RandomAccessFile を作成する。

new RandomAccessFile("farrago.txt", "r");

そして次のコードは、読み取りと書き込みの両方のために同じファイルを開く。

new RandomAccessFile("farrago.txt", "rw");

ファイルが開かれた後は、このファイル上で入出力を実行するために、共通の readXXX()あるいは writeXXX() メソッドを使用することができる。

RandomAccessFile はファイルポインタの考えをサポートする。 ファイルポインタは,ファイル上の現在の位置を示す。 ファイルが最初に生成される時、ファイルポインタはファイルの初めを示すゼロになる。readXXX() writeXXX() メソッドへの呼び出しは、読み取られたり書き込まれるバイト数によって、ファイルポインタを調整する。

操作が発生する時、暗黙的にファイルポインタを移動する標準的なファイル入出力メソッドに加えて、 RandomAccessFile は明示的にファイルポインタを操作する3つのメソッドを含む。

skipBytes()
ファイルポインタを指定されたバイト数だけ前方に移動する。
seek()
ファイルポインタを指定されたバイトの前に置く。
getFilePointer()
ファイルポインタの現在のバイト位置を返す。


Previous | Next | Trail Map | Writing Java Programs | 入出力ストリーム