Environment.getExternalStorageDirectory()与Environment.getExternalStoragePublicDirectory(String type)

来源:互联网 发布:网络状况调查报告交流 编辑:程序博客网 时间:2024/05/21 11:11

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 //保存铃声的位置
0 0
原创粉丝点击