本地文件目录

2017-01-16  本文已影响29人  敲代码的本愿

不同型号Android手机SD卡目录可能不同,本文测试手机meizu note3

卸载 App 不删除的文件

  1. Environment.getExternalStorageDirectory()
File sdcard = Environment.getExternalStorageDirectory();
File dic_picture = new File(sdcard, "Pictures");
Log.i(TAG, dic_picture);
//返回结果
/storage/emulated/0/Pictures
  1. Environment.getExternalStoragePublicDirectory(String type);
    type:系统提供的特定目录名,以DIRECTORY开头。例:Environment.DIRECTORY_DCIM
File dic_picture = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
Log.i(TAG, dic_picture);
//返回结果
/storage/emulated/0/Pictures

卸载 App 删除的文件

该类文件通常只有对应App才能使用。

  1. internal storage 手机自带存储区域,通常很小,shared preference、数据库存在该目录下
    方法:Context.getFilesDir()
File fileDir = this.getFilesDir();
Log.i(TAG, fileDir);
//返回结果
/data/data/com.example.test/files
  1. external storage SD卡,通常很大
    方法:Context.getExternalFilesDir(String type)
// ------------(1)----------
File fileDir = this.getExternalFilesDir(null);
Log.i(TAG, fileDir);
//返回结果
/storage/emulated/0/Android/data/com.example.test/files
// ------------(2)----------
File fileDir = this.getExternalFilesDir(`Movies`);
Log.i(TAG, fileDir);
//返回结果
/storage/emulated/0/Android/data/com.example.test/files/Movies
  1. 应用程序缓存目录
//获取应用程序自己的缓存目录
context.getCacheDir() 
//获取应用程序在外部存储的存储目录
context.getExternalCacheDir() 

判断是否安装SD卡##

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            //已安装SD卡
}

相关权限##

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

上一篇下一篇

猜你喜欢

热点阅读