您的位置:首页 > 移动开发 > Android开发

关于Android文件路径的记录

2015-11-04 23:08 267 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yahxdxj/article/details/49646299

<textarea readonly="readonly" name="code" class="java"> 

// 测试文件路径

// 联想测试 filePath = "/data/data/et.tsingtaopad.uploadapk/files/headImg/picname.png"
// 小米测试 filePath = "/data/user/0/et.tsingtaopad.uploadapk/files/headImg/picname.png"
String filePath = getFilesDir().getAbsolutePath() + File.separator + "headImg" + File.separator + "picname.png";

// 联想测试  filePath1 =  "/data"
// 小米测试 filePath1 = "/data"
File filePath1 = Environment.getDataDirectory();

// 联想测试 filePath2 = "/cache"
// 小米测试 filePath2 =  "/cache"
File filePath2 = Environment.getDownloadCacheDirectory()  ;

// 联想测试 filePath3 = "/storage/emulated/0"
// 小米测试 filePath3 =  "/storage/emulated/0"
File filePath3 = getExternalStorageDirectory();// = /mnt/sdcard

// 联想测试 filePath4 =  "/storage/emulated/0/test"
// 小米测试 filePath4 = "/storage/emulated/0/test"
File filePath4 = Environment.getExternalStoragePublicDirectory("test");//= /mnt/sdcard/test

// 联想测试 filePath5 =  "/system"
// 小米测试 filePath5 =  "/system"
File filePath5 = Environment.getRootDirectory();

// 联想测试 filePath6 = "/data/app/et.tsingtaopad.uploadapk-1.apk"
// 小米测试 filePath6 = "/data/app/et.tsingtaopad.uploadapk-1/base.apk"
String filePath6 = getPackageCodePath()  ; //  = /data/app/com.my.app-1.apk

// 联想测试 filePath7 = "/data/app/et.tsingtaopad.uploadapk-1.apk"
// 小米测试 filePath7 = "/data/app/et.tsingtaopad.uploadapk-1/base.apk"
String filePath7 = getPackageResourcePath(); //  = /data/app/com.my.app-1.apk

// 联想测试 filePath8 =  "/data/data/et.tsingtaopad.uploadapk/cache"
// 小米测试 filePath8 =  "/data/user/0/et.tsingtaopad.uploadapk/cache"
File filePath8 = getCacheDir() ;// = /data/data/com.my.app/cache

// 联想测试 filePath9 = "/data/data/et.tsingtaopad.uploadapk/databases/test"
// 小米测试 filePath9 = "/data/user/0/et.tsingtaopad.uploadapk/databases/test"
File filePath9 = getDatabasePath("test") ;  // = /data/data/com.my.app/databases/test

// 联想测试 filePath10 =  "/data/data/et.tsingtaopad.uploadapk/app_test"
// 小米测试 filePath10 =  "/data/user/0/et.tsingtaopad.uploadapk/app_test"
File filePath10 = getDir("test", Context.MODE_PRIVATE); //  = /data/data/com.my.app/app_test

// 联想测试 filePath11 =  "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache"
// 小米测试 filePath11 =  "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache"
File filePath11 = getExternalCacheDir(); //  = /mnt/sdcard/Android/data/com.my.app/cache

// 联想测试 filePath12 = "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/files/test"
// 小米测试 filePath12 =  "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/files/test"
File filePath12 = getExternalFilesDir("test") ;// = /mnt/sdcard/Android/data/com.my.app/files/test

// 联想测试 filePath13 = "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/files"
// 小米测试 filePath13 =  "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/files"
File filePath13 = getExternalFilesDir(null) ; //= /mnt/sdcard/Android/data/com.my.app/files

// 联想测试 filePath14 = "/data/data/et.tsingtaopad.uploadapk/files"
// 小米测试 filePath14 =  "/data/user/0/et.tsingtaopad.uploadapk/files"
File filePath14 = getFilesDir(); //  = /data/data/com.my.app/files

// 联想测试 filePath15 = "/storage/emulated/0"
// 小米测试 filePath15 = "/storage/emulated/0"
String filePath15 = Environment.getExternalStorageDirectory().getPath();

// 联想测试 filePath16 = "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache/file16"
// 小米测试 filePath16 =  "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache/file16"
File filePath16 = getDiskCacheDir(this,"file16");

// 联想测试 filePath17 = "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache"
// 小米测试 filePath17 = "/storage/emulated/0/Android/data/et.tsingtaopad.uploadapk/cache"
String filePath17 = getDiskCacheDir(this);

//----------------------------------------------------------------------

// 获取scared的文件夹路径  
通过Context.getExternalFilesDir()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据  
  
通过Context.getExternalCacheDir()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据  
  
// 获取手机存储空间的文件夹路径  /data/data/et.tsingtaopad/files/photo/  
String path = getFilesDir().getAbsolutePath() + File.separator + "photo"+ File.separator;  

getCacheDir()方法用于获取/data/data/<application package>/cache目录  
  
getFilesDir()方法用于获取/data/data/<application package>/files目录  

//--------------------------------------------------------------------

/**
 * 获取缓存文件夹
 * 通常都会存放在 /sdcard/Android/data/<application package>/cache 这个路径下面,
 * 但同时我们又需要考虑如果这个手机没有SD卡,或者SD正好被移除了的情况,因此专门写一个方法来获取缓存地址
 *
 */
public File getDiskCacheDir(Context context, String uniqueName) { // 上下文 文件夹名称
    String cachePath;
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
            || !Environment.isExternalStorageRemovable()) {
        //缓存在sdcard上 SDCard/Android/data/你的应用包名/cache/目录
        cachePath = context.getExternalCacheDir().getPath();
    } else {
        // 缓存在手机存储空间上 /data/data/<application package>/cache目录
        cachePath = context.getCacheDir().getPath();
    }
    return new File(cachePath + File.separator + uniqueName);
}

// 获取缓存文件夹路径
public String getDiskCacheDir(Context context) {
    String cachePath = null;
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
            || !Environment.isExternalStorageRemovable()) {
        //SDCard/Android/data/你的应用包名/cache/目录
        cachePath = context.getExternalCacheDir().getPath();
    } else {
        ///data/data/<application package>/cache目录
        cachePath = context.getCacheDir().getPath();
    }
    return cachePath;
}
</textarea>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: