public static File[] listFiles(File dir,boolean deep){ return listFiles(dir, deep, null); }
public static File[] listFiles(File dir,boolean deep, FilenameFilter filter){ List<File> list = new ArrayList<File>(); listFiles(dir, deep, list, filter); return list.toArray(new File[list.size()]); }
@Override public boolean accept(File f) { if(null != filter && !filter.accept(dir, f.getName())) { return false; } if(f.isFile()){ list.add(f); }else if(deep && f.isDirectory()){ listFiles(f,deep,list,filter); } return false; } });