Environment.getExternalStorageDirectory()是获得外部存储的第一层的对象,可以通过这个对象获得这一层的各个文件的名称,路径,以及建立其中一个文件的抽象对象。
代码如下:
File files = Environment.getExternalStorageDirectory();//获得外部存储器的第一层的文件对象
File files = Environment.getExternalStorageDirectory();//获得外部存储器的第一层的文件对象
File [] pp =files.listFiles();//获得第一层的所有文件
for(File file:pp ){
Log.d(""," 文件名:"+file.getName()+"文件路径 :"+file.getAbsolutePath());
}
如果想对第一层的某个文件实例化,并获得这个文件下的所有文件的文件名和路径则:
File files = Environment.getExternalStorageDirectory();//获得外部存储器的第一层的文件对象
File music = new File(files,"/ripple");//对第一层的ripple实例化
File []pp =music.listFiles();//获得ripple下的所有的文件。
for(File file:pp ){
Log.d(""," 文件名:"+file.getName()+"文件路径 :"+file.getAbsolutePath());//获得file的绝对路径
}
ripple是第一层的一个文件,通过 File music = new File(files,”/ripple”);
将其实例化,可以获得其ripple下的所有文件。
结果如下
注意:
必须在mainfests中声明权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Environment.getExternalStoragePublicDirectory(String type)
如果您需要往sdcard中保存特定类型的内容,可以考虑使用Environment.getExternalStoragePublicDirectory(String type)函数,该函数可以返回特定类型的目录,目前支持如下类型:
DIRECTORY_ALARMS //警报的铃声
DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
DIRECTORY_DOWNLOADS //下载文件保存的位置
DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
DIRECTORY_MUSIC //音乐保存的位置
DIRECTORY_NOTIFICATIONS //通知音保存的位置
DIRECTORY_PICTURES //下载的图片保存的位置
DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
DIRECTORY_RINGTONES //保存铃声的位置