我需要访问SD卡并返回不同格式的文件,其位置由用户输入。如何以编程方式实现此功能?
Simondid,我相信这就是你要找的内容。
访问SD卡:在Android中读取SD卡上的特定文件
请记住检查媒体可用性:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal
创建文件过滤器:http://www.devdaily.com/blog/post/java/how-implement-java-filefilter-list-files-directory
mp3文件过滤器示例,创建以下过滤器类:
import java.io.*;
/**
* A class that implements the Java FileFilter interface.
* It will filter and grab only mp3
*/
public class Mp3FileFilter implements FileFilter
{
private final String[] okFileExtensions =
new String[] {"mp3"};
public boolean accept(File file)
{
for (String extension : okFileExtensions)
{
if (file.getName().toLowerCase().endsWith(extension))
{
return true;
}
}
return false;
}
}
然后根据之前访问sd卡的帖子,您将使用以下过滤器:
File sdcard = Environment.getExternalStorageDirectory();
File dir = new File(sdcard, "path/to/the/directory/with/mp3");
//THIS IS YOUR LIST OF MP3's
File[] mp3List = dir.listFiles(new Mp3FileFilter());
注意:代码比较简陋,您可能要确保sd卡按照上述提到的方式可用
String.contains(".mp3");
来检查文件类型。 - Codeman