ファイルを扱うclass は色々あるね。
今回はRandomAccessFile を使ってみたよ。
RandomAccessFile の利点
RandomAccessFile を使うと、読み込み位置なんかを指定できるんだ。
これはゲームの再開なんかに、とても都合がいい。
RandomAccessFile での読み込み
下記サンプルでは、テキスト・ファイルを一行読み込みしている。
public long head_pos = 0; //現在のseekヘッド位置
public String readline_RA( String path, long readPos, String code ) {
// Log.d("TEST", "readline_RA : "+path );
String result = "";
//--
try{
File file = new File( path );
RandomAccessFile ra = new RandomAccessFile( file, "r" );
ra.seek( readPos );
String str = ra.readLine();
if ( str!= null ){
result = str;
// }else{
// result = "";
// Log.d("Err", "// readline_RA : read is null //" );
}
head_pos = ra.getFilePointer();
ra.close();
}catch( Exception e ){
Log.d("Err", "// readline_RA : read ERR //" );
}
//--
return result;
}
モード設定
RandomAccessFile は書き込み、読み込みで、別class になっていない。
そのため、オブジェクト生成時に、モードを設定する必要がある。
下記では、読み込み専用として生成している。
new RandomAccessFile( file, "r" );
位置設定
書き込み位置、読み込み位置の設定は、seek method を使う。
値はlong で指定する。
seek( readPos );
位置の取得
書き込み位置、読み込み位置の取得は、getFilePointer method を使う。
値はlong 。
getFilePointer();
by the way…
RandomAccessFile では、文字コードの指定はできない。
そのためテキストファイルは、デフォルト・コード(UTF-8)で扱われてしまう。
Shift-JISを扱うには、別途自前で直す必要がある。
コレに関しては、別項・
Shif-JISで読み込むにて。


![著作権フリー背景素材集[家]](http://img.dlsite.jp/modpub/images2/work/doujin/RJ089000/RJ088095_img_mini.jpg)





migimaki.com











![著作権フリー背景素材集[家]](http://img.dlsite.jp/modpub/images2/work/doujin/RJ089000/RJ088095_img_sam.jpg)
右巻きソフトウェア
