ファイルの入出力

Android Tips

ファイルの入出力は、FileInputStreamおよびFileOutputStreamクラスを使用します。アクセスするファイルは、/data/data/パッケージ名/files配下に格納されます。
FileReader,FileWriterを使いたい所ですが、ファイルへのパスを直接指定しなければならず、あまりお勧めしません。対応されるまで待ちましょう。

import java.io.*;
import android.app.Activity;
import android.content.Context;

public class MyClass extends Activity{

  public void myMethod(){
    String file = "file.txt";

    try{
      // ファイルへの出力
      // MODE_PRIVATE:このアプリのみアクセス可能
      // MODE_APPEND:追記モード
      // MODE_READABLE:他のアプリも読み込み可能
      // MODE_WRITEABLE:他のアプリも書き込み可能
      FileOutputStream fos = this.openFileOutput(file,Context.MODE_PRIVATE);
      fos.write("テスト\n".getBytes());
      fos.flush();
      fos.close();

      // ファイルからの入力
      FileInputStream fis = this.openFileInput(file);
      InputStreamReader isr = new InputStreamReader(fis);
      BufferedReader br = new BufferedReader(isr);
      String line = null;
      while((line = br.readLine()) != null){
        System.out.println(line);
      }
      fis.close();

    }catch(Exception e){
    }
  }
}

コマンドライン

>adb shell
>cd /data/data/パッケージ名/files
>ls
file.txt

参考: SDカードからファイルを読み込む

コメント