很多时候忘掉写东西。记下方便查找~
File dateDir = Environment.getDataDirectory(); dateDir.getAbsolutePath(); /data Environment.getDataDirectory().getAbsolutePath(); /mnt/sdcard context.getExternalFilesDir(null); /mnt/sdcard/Android/data/com.example.client/files context.getFilesDir().getAbsolutePath(); /data/data/com.example.client/files context.getCacheDir().getAbsolutePath(); /data/data/com.example.client/cache
内置私有目录
-
/data/data/[packagename]/files 文件缓存目录,一般存小的文件缓存,如果是图片,不建议放这里,一般放到外置卡。
File file = getFilesDir(); 返回该目录
写文件到该目录下可以像这样FileOutputStream fos = null; try { fos = appontext.openFileOutput(name, Context.MODE_PRIVATE); fos.write(content.getBytes()); } catch (Exception e) { }finally{ try { if(null != fos){ fos.close(); } }catch (Exception e) { } }
-
/data/data/[packagename]/cache目录,存放一些其他缓存 File cache = getCacheDir();
-
/data/data/[packagename]/databases,存放数据库
-
/data/data/[packagename]/lib,应用的so目录
-
/data/data/[packagename]/shared_prefs 应用的SharedPreferences保存
可以自己创建其他目录吗? 可以的
使用 File ownDataPath = getDir(“service”,Context.MODE_PRIVATE);
使用它可以创建app_service目录,放什么自己定义
外置SDCARD目录
-
外置缓存目录(File sdcache = getExternalCacheDir();)
/storage/emulated/0/Android/data/[packagename]/cache
一些重要性不高的cache或者大文件放到这里,比如图片缓存 -
外置文件缓存目录(File sdfile = getExternalFilesDir(null);),
/storage/emulated/0/Android/data/[packagename]/files
一些重要性不高的file cache或者大文件放到这里
注意: /storage/emulated/0/Android/data/[packagename] 在android2.2之后,在应用卸载后也会一并卸载。所以不需要用什么清理缓存的软件清理的。