android FilenameFilter dirs

时间:2013-08-12 21:18:05

标签: java android mp3

以下是相关的代码:

FilenameFilter mp3Filter = new FilenameFilter() {
    public boolean accept(File dir, String name) {
        if (name.endsWith(".mp3")) {
            return true;
        }
        return false;
    }
};
FilenameFilter dirFilter = new FilenameFilter() {
    public boolean accept(File dir, String name) {
        String n = name.toLowerCase();
        if (n.startsWith(".") || n.contains("notifications") || n.contains("ringtones") || n.contains("alarms")) {
            return false;
        }
        File f = new File(dir.getAbsolutePath()+"/"+name);
        return f.isDirectory();
    }
};

private void GetMp3s(File root) {
    String[] mp3s = root.list(mp3Filter);
    for (int i=0; i<mp3s.length; i++)
        files.add(root+"/"+mp3s[i]);
    String[] dirs = root.list(dirFilter);
    for (int i=0; i<dirs.length; i++)
        GetMp3s(new File(root+"/"+dirs[i]));
};

mp3Filter工作正常,如果文件是目录,则dir过滤器仅返回true,但n.contains()内容不起作用 - 即。我对名为“notifications”等的目录返回true。

我在这里缺少什么?

0 个答案:

没有答案