http://blog.csdn.net/woty123/article/details/6612240
原地址:http://blog.sina.com.cn/s/blog_7a27a9bf0100s887.html
有时候需要在程序中查找某一目录下的某一类文件,例如需要在E:\data\file_selector_test 目录下面查找所有已.java为后缀名的文件。其实这个功能自己也可以实现,很简单,只需要遍历一下目录下的所有文件,判断一下文件名称的结尾字符串是否为".java"即可。虽然这么做可以实现,但是没有必要,java api中已经有相关的方法来实现这一功能。
File类有一个listFiles(FileNameFilter filter).只需要实现一个简单的filter就可以做到。例如我要在E:\data\file_selector_test 目录下面查找以.java 或者.txt结尾的文件,我可以这么做。见下例。
类名:FileNameSelector
public class FileNameSelector implements FilenameFilter
{
}
try in Aug 16 morning:
File a=new File("C:/Users/Administrator/Desktop/pic");
File[] filelist=a.listFiles();
System.out.println(filelist.length);
ArrayList ls=new ArrayList();
String fileName;
for(int i=0;i<filelist.length;i++)
{
fileName=filelist[i].getName();
System.out.println(fileName);
if(fileName.contains("jpg"))
{
ls.add(filelist[i]);
}
}
Iterator it=ls.iterator();
while(it.hasNext())
{
System.out.println(((File)it.next()).getName());
}