首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >读取Android文件系统中的所有文件

读取Android文件系统中的所有文件
EN

Stack Overflow用户
提问于 2011-08-12 01:44:19
回答 1查看 7K关注 0票数 5

我正在写一个Android mediaPlayer应用程序,所以我想扫描整个手机上的所有文件(即sd卡和手机内存)。我可以从SD卡中读取,但不能读取它的根。也就是说,我可以从路径/sdcard/[folder]/中读取,它工作得很好,但如果我转到/sdcard/,应用程序就会崩溃。如何访问SD卡上的所有文件以及手机本身的文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-12 02:00:03

切勿使用/sdcard/路径。它不能保证一直都能工作。

使用下面的代码来获取sdcard目录的路径。

代码语言:javascript
运行
复制
File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();

从rootPath位置,您可以构建SD卡上任何文件的路径。例如,如果在/DCIM/Camera/a.jpg中有一个图像,那么绝对路径将是rootPath + "/DCIM/Camera/a.jpg“。

但是,要列出SDCard中的所有文件,可以使用以下代码

代码语言:javascript
运行
复制
String listOfFileNames[] = root.list(YOUR_FILTER);

listOfFileNames将拥有SD卡中存在的所有文件的名称,并通过过滤器设置的标准。

假设您只想列出mp3文件,然后将下面的过滤器类名称传递给list()函数。

代码语言:javascript
运行
复制
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();
    }
};

破折号

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7030446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档