Androidサンプル ローカルにファイルを保存する
Androidでローカルにファイルを保存する方法についてです。
ファイル書き込みを許可する
ファイルアクセスを許可するため、AndroidManifest.xmlに以下のタグを追加します。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
ディレクトリを作成する
ローカルにファイルを保存したい場合、アクセスできる場所が限られていまして、
/data/data//files
にしかファイル入出力はできないようです。
例えば、パッケージ名がcom.java.yourdomainなら
/data/data/com.java.yourdomain/files
となります。パッケージ名はContextクラスのgetPackageNameで得られます。(ちなみにActivityはContextを継承している)
String path = "/data/data/" + context_.getPackageName() + "/files"; File file = new File(path); file.mkdir();
ファイルを作成する
FileOutputStreamを使います。(例外処理省略)
public boolean writeFile(String fileName) throws IOException { FileOutputStream fileOutputStream = context_.openFileOutput(fileName, Context.MODE_PRIVATE); String buffer = "12345"; fileOutputStream.write(buffer.getBytes()); return true; }
ファイルを読み込む
同様にFileInputStreamを使います。
public boolean readFile(String fileName) throws IOException { FileInputStream fileInputStream = context_.openFileInput(fileName); byte[] buffer = new byte[5]; fileInputStream.read(buffer, 0, 5); String string = new String(buffer); }