Categories
SugiBlog ホームページ制作・システム開発

ローカルファイルのアクセス

ローカルファイルにアクセスする場合、ファイルのパスはOSが決めているのでアプリから指定する必要はありません。
読み込むときも書き込むときも、ファイル名のみ指定します。

【画像ファイル保存】※ビットマップは生成済と仮定します。

try {
  FileOutputStream out = openFileOutput("a.jpg", Context.MODE_WORLD_READABLE);
  bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
  out.close();
} catch (Exception e) {
  e.printStackTrace();
}


Bitmapのcompressメソッドを使用します。
第一引数:ファイルのフォーマット
第二引数:クオリティ
第三引数:作成したOutputStreamを指定

【テキストファイル保存】

String s = "文字列";
try{
    OutputStream out = openFileOutput("a.txt", MODE_PRIVATE);
    PrintWriter writer =
          new PrintWriter(new OutputStreamWriter(out, "UTF-8"));
    writer.append(s);
    writer.close();
}catch(IOException e){
    e.printStackTrace();
}

【テキストファイル読込】

try{
    InputStream in = openFileInput("a.txt");
    BufferedReader reader =
          new BufferedReader(new InputStreamReader(in, "UTF-8"));
    String s;
    while((s = reader.readLine()) != null){
        Log.v(TAG, s);
    }
    reader.close();
}catch(IOException e){
    e.printStackTrace();
}
操作モード定数
MODE_APPEND 既存ファイルを追記モードで開きます。
MODE_PRIVATE ローカルファイルを作成したAndroidアプリのみにアクセス許可を与える場合に指定します。
MODE_WORLD_READABLE 他アプリから読み取り可能にします。
MODE_WORLD_WRITEABLE 他アプリから書込み可能にします。
複数指定したい場合は、上記定数を論理和で指定します。

【ローカルファイルの削除】

deleteFile("a.txt");
2,149 views

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*