Android external storage

File sdCard = Environment.getExternalStorageDirectory();
File directory_pictures = new File(sdCard, "Pictures");
Log.i(TAG,"directory_pictures="+directory_pictures);

存储在external storage

这类文件不应该存在SD卡的根目录下,而应该存在mnt/sdcard/Android/data/< package name >/files/…这个目录下。这类文件应该随着App的删除而一起删除。例如一种格式的电子书,只有该app才可以打开,如果用户删除了该app,那么留下来的电子书就成为了一种无法打开的垃圾文件,所以应该随着该app一起删除掉。

获得这个路径的方法:

File externalFilesDir = getExternalFilesDir(null);
Log.i(TAG, "externalFileDir = "+externalFilesDir);

我们看一下log中的内容为null,这是由于我们没有添加权限 
这里写图片描述

添加权限:

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

再看一下log:

这样路径就访问到了,我们注意到上面的getExternalFilesDir(null)参数传入的为null,这样默认访问的是files文件夹,我们可以指定子文件夹

File externalFilesDir = getExternalFilesDir("Caches");
Log.i(TAG, "externalFileDir = "+externalFilesDir);



原文地址:https://www.cnblogs.com/yangjj08/p/11317542.html