java正则过滤文件问题

目录下有1363万文件、我想用正则过滤一下需要的文件、java 的listFiles(FilenameFilter)方法会内存溢出、还有其他过滤文件的方法吗

这么多文件,最好不要直接目录过滤,不然很容易内存溢出。最好是分批读取文件。目录下是否有多个子目录,最好一次处理一个子目录。

public class MP3FileFilter implements FileFilter {

@Override  
public boolean accept(File file) {  
    // TODO Auto-generated method stub  

// return false;

    if(file.isDirectory())  
        return true;  
    else  
    {  
        String name = file.getName();  
        if(name.endsWith(".mp3") || name.endsWith(".mp4"))  
            return true;  
        else  
            return false;  
    }  

}  

}