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