我在编写Android mediaPlayer应用程序,因此我想扫描整个手机上的所有文件(即sdcard和手机存储器)。我可以从SD卡读取,但不能读取它的根。也就是说,我可以从路径/sdcard/[folder]/
中读取,它工作正常,但如果我去/sdcard/
该应用程序崩溃。我如何访问SD卡上的所有文件以及手机本身的文件?读取Android文件系统中的所有文件
4
A
回答
9
切勿使用/ sdcard /路径。它不保证一直工作。
使用以下代码获取sdcard目录的路径。
File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();
从rootPath位置,您可以构建SD卡上任何文件的路径。例如,如果/DCIM/Camera/a.jpg中有图像,则绝对路径为rootPath +“/DCIM/Camera/a.jpg”。
但是列出的SD卡中的所有文件,可以使用下面的代码
String listOfFileNames[] = root.list(YOUR_FILTER);
listOfFileNames将所有存在于SD卡中的文件名,并通过由过滤器的标准。
假设您只想列出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();
}
};
词shash
+0
谢谢soo much .... 。 非常感激 –
相关问题
- 1. Node.js文件系统:Promise一次读取所有文件
- 2. Android:只读文件系统
- 3. android中的文件系统
- 4. UNIX系统和Windows系统中读取.CSV文件的差异
- 5. Android文件系统
- 6. 无法在Android中写入文件,只读文件系统
- 7. Android只读文件系统错误
- 8. 只读文件系统android studio
- 9. Android Studio - 只读文件系统?
- 10. Android - 只读文件系统IOException
- 11. 从ext3文件系统读取块?
- 12. 从文件系统读取xml
- 13. 读取文件系统并返回它
- 14. Google文件系统读取一致性
- 15. 在jtree中显示所有系统的文件和文件夹
- 16. 只读文件系统
- 17. java.io.FileNotFoundException:output.mp4(只读文件系统)
- 18. 如何在Android中读取系统日志文件?
- 19. Android文件系统:java.io.FileNotFoundException:/ savedArticlesFile:打开失败:EROFS(只读文件系统)
- 20. Ubuntu非只读文件系统非系统文件
- 21. 如何从文件系统读取大量的XML文件
- 22. 从文件系统读取文件时的并发性
- 23. ANT文件集包含在所有文件系统中
- 24. 获取所有操作系统中的根文件列表
- 25. 使用StreamReader读取文件夹中的所有文本文件
- 26. android ndk包装C++文件获取android系统文件路径
- 27. Android文件写入只读文件系统警告
- 28. 从Android下载FTP文件时只读文件系统错误
- 29. 无法读取android系统日食的项目文件
- 30. 卸载所有samba文件系统
你知道机器人会内容解析器?如果你不是这样,请检查:http://developer.android.com/guide/topics/media/index.html#viacontentresolver和http://developer.android.com/guide/topics/providers/content-providers.html – 2011-08-11 17:48:06
这是有帮助的,但我怎样才能从mediaplayer实例调用下一首歌曲?它看起来像我们使用Uri设置数据源(),但我不知道如何看到那里的所有歌曲 –
其实我没有工作整个媒体子系统还有很多,所以我会把它传给别人来回答。但这应该是可行的。我只是想让你知道,因为扫描整个SD卡/内存听起来像是一个没有效率的,电池浪费的想法,当所有的文件已经为你扫描。编辑:只是一个搜索的想法:你实际上必须使用ContentResolver来查询媒体,MediaPlayer实际上只是一个播放器,它不处理管理媒体,它只是播放其中的一部分。上面的链接解释了一点。 – 2011-08-11 17:57:54