- Android
- 2011-12-13
この記事は最終更新日から1年以上経過しています。
ローカルファイルにアクセスする場合、ファイルのパスは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");
3,657 views