kho*_*oma 5 android android-manifest
我正在编写一个Android mediaPlayer应用程序,所以我想扫描整个手机上的所有文件(即SD卡和手机内存).我可以从SD卡中读取,但不能读取它的根.也就是说,我可以从路径中读取/sdcard/[folder]/并且它工作正常,但如果我去/sdcard/应用程序崩溃.如何访问SD卡上的所有文件以及手机本身的文件?
切勿使用/ sdcard/path.它不能保证一直工作.
使用下面的代码获取sdcard目录的路径.
File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();
Run Code Online (Sandbox Code Playgroud)
从rootPath位置,您可以构建SD卡上任何文件的路径.例如,如果/DCIM/Camera/a.jpg上有图像,则绝对路径为rootPath +"/ DCIM/Camera/a.jpg".
但是,要列出SD卡中的所有文件,您可以使用以下代码
String listOfFileNames[] = root.list(YOUR_FILTER);
Run Code Online (Sandbox Code Playgroud)
listOfFileNames将包含SD卡中存在的所有文件的名称,并传递filter设置的条件.
假设您只想列出mp3文件,然后将下面的过滤器类名传递给list()函数.
FilenameFilter mp3Filter = new FilenameFilter() {
File f;
public boolean accept(File dir, String name) {
if(name.endsWith(".mp3")){
return true;
}
f = new File(dir.getAbsolutePath()+"/"+name);
return f.isDirectory();
}
};
Run Code Online (Sandbox Code Playgroud)
词shash
| 归档时间: |
|
| 查看次数: |
6624 次 |
| 最近记录: |