Android获取各种存储目录

作者:追风剑情 发布于:2016-8-22 11:02 分类:Android

示例代码

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.fragment_main);
  5. //Android 2.2(API level 8)之前用Environment类获取目录
  6. String ext_state = Environment.getExternalStorageState();
  7. File root_file = Environment.getRootDirectory();
  8. File data_file = Environment.getDataDirectory();
  9. File down_file = Environment.getDownloadCacheDirectory();
  10. File ext_file = Environment.getExternalStorageDirectory();
  11. File ext_pfile = Environment.getExternalStoragePublicDirectory("mydir");
  12. Log.d("test", "Environment.getExternalStorageState: " + ext_state);
  13. Log.d("test", "Environment.getRootDirectory: " + root_file.getAbsolutePath());
  14. Log.d("test", "Environment.getDataDirectory: " + data_file.getAbsolutePath());
  15. Log.d("test", "Environment.getDownloadCacheDirectory: " + down_file.getAbsolutePath());
  16. Log.d("test", "Environment.getExternalStorageDirectory: " + ext_file.getAbsolutePath());
  17. Log.d("test", "Environment.getExternalStoragePublicDirectory: " + ext_pfile.getAbsolutePath());
  18. //Android 2.2(API level 8)之后可从应用上下文中获取目录
  19. //Context.MODE_PRIVATE 默认操作模式,表示私有数据,只能被创建它的应用访问。
  20. //Context.MODE_WORLD_READABLE 可被其他应用读取
  21. //Context.MODE_WORLD_WRITEABLE 可被其他应用写入
  22. //Context.MODE_APPEND 文件不存在,则创建,若存在,则追加写入
  23. File dir = this.getDir("mydir", Context.MODE_PRIVATE);
  24. File fileDir = this.getFilesDir();
  25. File extDir = this.getExternalFilesDir("mydir");
  26. File cacheDir = this.getCacheDir();
  27. File extCacheDir = this.getExternalCacheDir();
  28. File databasePath = this.getDatabasePath("mydir");
  29. File streamPath = this.getFileStreamPath("mydir");
  30. File obbDir = this.getObbDir();
  31. Log.d("test", "this.getDir: " + dir.getAbsolutePath());
  32. Log.d("test", "this.getFilesDir: " + fileDir.getAbsolutePath());
  33. Log.d("test", "this.getExternalFilesDir: " + extDir.getAbsolutePath());
  34. Log.d("test", "this.getCacheDir: " + cacheDir.getAbsolutePath());
  35. Log.d("test", "this.getExternalCacheDir: " + extCacheDir.getAbsolutePath());
  36. Log.d("test", "this.getDatabasePath: " + databasePath.getAbsolutePath());
  37. Log.d("test", "this.getFileStreamPath: " + streamPath.getAbsolutePath());
  38. Log.d("test", "this.getObbDir: " + obbDir.getAbsolutePath());
  39. }

 

Logcat日志

111111.png

 

标签: Android

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号