Android外部存储/内部存储路径获取大全



  1. package com.mufeng.toolproject.utils;
  2. import android.content.Context;
  3. import android.os.Environment;
  4. /**
  5. * Created by mufeng on 2017/3/11.
  6. */
  7. public class DirectoryUtils {
  8. private static final String TAG = "DirectoryUtils";
  9. public static void getEnvironmentDirectories() {
  10. //:/system
  11. String rootDir = Environment.getRootDirectory().toString();
  12. System.out.println( "Environment.getRootDirectory()=:" + rootDir);
  13. //:/data 用户数据目录
  14. String dataDir = Environment.getDataDirectory().toString();
  15. System.out.println( "Environment.getDataDirectory()=:" + dataDir);
  16. //:/cache 下载缓存内容目录
  17. String cacheDir = Environment.getDownloadCacheDirectory().toString();
  18. System.out.println( "Environment.getDownloadCacheDirectory()=:" + cacheDir);
  19. //:/mnt/sdcard或者/storage/emulated/0或者/storage/sdcard0 主要的外部存储目录
  1. // 这个不一定是外部存储
  2. String storageDir = Environment.getExternalStorageDirectory().toString();
  3. System.out.println( "Environment.getExternalStorageDirectory()=:" + storageDir);
  4. //:/mnt/sdcard/Pictures或者/storage/emulated/0/Pictures或者/storage/sdcard0/Pictures
  5. String publicDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString();
  6. System.out.println( "Environment.getExternalStoragePublicDirectory()=:" + publicDir);
  7. //获取SD卡是否存在:mounted
  8. String storageState = Environment.getExternalStorageState().toLowerCase();
  9. System.out.println( "Environment.getExternalStorageState()=:" + storageState);
  10. //设备的外存是否是用内存模拟的,是则返回true。(API Level 11)
  11. boolean isEmulated = Environment.isExternalStorageEmulated();
  12. System.out.println( "Environment.isExternalStorageEmulated()=:" + isEmulated);
  13. //设备的外存是否是可以拆卸的,比如SD卡,是则返回true。(API Level 9)
  14. boolean isRemovable = Environment.isExternalStorageRemovable();
  15. System.out.println( "Environment.isExternalStorageRemovable()= :" + isRemovable);
  16. }
  17. public static void getApplicationDirectories(Context context) {
  18. //获取当前程序路径 应用在内存上的目录 :/data/data/com.mufeng.toolproject/files
  19. String filesDir = context.getFilesDir().toString();
  20. System.out.println( "context.getFilesDir()=:" + filesDir);
  21. //应用的在内存上的缓存目录 :/data/data/com.mufeng.toolproject/cache
  22. String cacheDir = context.getCacheDir().toString();
  23. System.out.println( "context.getCacheDir()=:" + cacheDir);
  24. //应用在外部存储上的目录 :/storage/emulated/0/Android/data/com.mufeng.toolproject/files/Movies
  25. String externalFilesDir = context.getExternalFilesDir(Environment.DIRECTORY_MOVIES).toString();
  26. System.out.println( "context.getExternalFilesDir()=:" + externalFilesDir);
  27. //应用的在外部存储上的缓存目录 :/storage/emulated/0/Android/data/com.mufeng.toolproject/cache
  28. String externalCacheDir = context.getExternalCacheDir().toString();
  29. System.out.println( "context.getExternalCacheDir()=:" + externalCacheDir);
  30. //获取该程序的安装包路径 :/data/app/com.mufeng.toolproject-3.apk
  31. String packageResourcePath = context.getPackageResourcePath();
  32. System.out.println( "context.getPackageResourcePath()=:" + packageResourcePath);
  33. //获取程序默认数据库路径 :/data/data/com.mufeng.toolproject/databases/mufeng
  34. String databasePat = context.getDatabasePath( "mufeng").toString();
  35. System.out.println( "context.getDatabasePath(\"mufeng\")=:" + databasePat);
  36. }
  37. }

猜你喜欢

转载自blog.csdn.net/hdhhd/article/details/81064493