ファイルの入出力は、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カードからファイルを読み込む


コメント