0

这是相关的代码:

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()东西不起作用 - 即。对于名为“通知”等的目录,我会返回 true。

我在这里想念什么?

4

0 回答 0