Android学习——外部存储

外部存储

 1 String state = Environment.getExternalStorageState();
 2 File externalFile = context.getExternalFilesDir( null );
 3 File[] externalFiles = context.getExternalFilesDirs( Environment.DIRECTORY_PICTURES );
 4 for (File file : externalFiles) {
 5     Log.d( TAG, "state="+ state + ";
externalFiles=" + file + ";
externalFile="+externalFile);
 6     try {
 7         FileOutputStream fileOutputStream = new FileOutputStream( new File( file, "aaaa.txt" ) );
 8         fileOutputStream.close();
 9     } catch (IOException e) {
10         e.printStackTrace();
11     }
12 }

getExternalFilesDirs获取的有两个外部存储,getExternalFilesDir是一个。这两个外部存储,一个是主外部存储 即手机本身存储中分为 内部存储和外部存储的 外部存储部分,另一个是SD卡的挂载路径。

getExternalFilesDir(),获取就是主外部存储路径。

getExternalFilesDirs(),获取所有外部存储的路径,包括本身的外部存储 和 扩展出来的存储(如SD卡)。

在一开始就说过,应用存储到外部存储的文件 当应用卸载时只有getExternalFilesDir()路径下的会被删除。

上面代码在log后,所有外部存储路径下 都创建了aaaa.txt的文件,实际操作结果也是符合的,当卸载应用时,/storage/553C-0E05/Android/data/com.flx.testfilestorage/files/这个下面的aaaa.txt 仍然存在的。

原文地址:https://www.cnblogs.com/znjy/p/14907931.html