- Android
- 2011-12-14
ファイル名に正規表現でフィルターをかけます
FilenameFilter fFilter = new FilenameFilter() { @Override public boolean accept(File dir, String filename) { return filename.matches(".+.jpg"); //正規表現で検索 } };
5,060 views
ファイル名に正規表現でフィルターをかけます
FilenameFilter fFilter = new FilenameFilter() { @Override public boolean accept(File dir, String filename) { return filename.matches(".+.jpg"); //正規表現で検索 } };
アラートダイアログを使って、ファイル選択にも応用できる参照機能
こちらのサイトを参考にさせていただきました。
http://d.hatena.ne.jp/Silent-Bob/20110705
・ルートフォルダーを設定
指定したフォルダー階層より上に上がれないようにします。
private static final String ROOT_PATH = Environment.getExternalStorageDirectory().getPath() + "/";
ローカルファイルにアクセスする場合、ファイルのパスは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(); }
Androidでは、アプリケーション毎に専用のディレクトリが設けられています。
アプリケーション毎に「/data/data/パッケージ名」となっていて、
更にそれ以下に以下のように領域が分かれています。
databases | データベースの保存 |
---|---|
shared_prefs | 設定ファイルの保存 |
files | ファイルの保存 |
今回はファイルの入出力なので、「files」ディレクトリを利用します。
アクセスする際はファイルまでのパスは不要です。