public
class
FileTest
...
{
static FileFilter filter = new FileFilter() ...{
private List extList = new ArrayList();
...{
String[] exts = ".java;.ico;.doc".split(";");
for (String ext : exts)
extList.add(ext);
}
public boolean accept(File pathname) ...{
if (pathname.isDirectory())
return true;
int idx = pathname.getName().lastIndexOf(".");
if (idx >= 0 && extList.contains(pathname.getName().substring(idx)))
return true;
return false;
}
};
public static void findFiles(File dir, List list) ...{
if (!dir.exists())
return;
File[] files = dir.listFiles(filter);
for (File file : files) ...{
if (file.isDirectory())
findFiles(file, list);
else
list.add(file);
}
}
public static void main(String[] args) ...{
List<File> list = new ArrayList();
findFiles(new File("D:/temp"), list);
for (File file : list)
System.out.println(file.getAbsolutePath());
}
}
static FileFilter filter = new FileFilter() ...{
private List extList = new ArrayList();
...{
String[] exts = ".java;.ico;.doc".split(";");
for (String ext : exts)
extList.add(ext);
}
public boolean accept(File pathname) ...{
if (pathname.isDirectory())
return true;
int idx = pathname.getName().lastIndexOf(".");
if (idx >= 0 && extList.contains(pathname.getName().substring(idx)))
return true;
return false;
}
};
public static void findFiles(File dir, List list) ...{
if (!dir.exists())
return;
File[] files = dir.listFiles(filter);
for (File file : files) ...{
if (file.isDirectory())
findFiles(file, list);
else
list.add(file);
}
}
public static void main(String[] args) ...{
List<File> list = new ArrayList();
findFiles(new File("D:/temp"), list);
for (File file : list)
System.out.println(file.getAbsolutePath());
}
}