用File类的list(FilenameFilter filter)方法返回指定过滤器的文件名字符串数组就行了。

解决方案 »

  1.   

    String [] s = f1.list(new FilenameFilter()
    {
    public boolean accept(File dir,String name)
    {
    if(name. endsWith(".exe"))
    {
    return true ;
    }
    else
    {
    return false ;
    }
    }
    }) ;
      

  2.   

    说实话有点不明白:1.怎么通过程序指定遍历区域(也就是本地硬盘);
    2.楼上的似乎只查找到一个.EXE的文件,要遍历全部EXE还需要怎么做
      

  3.   

    public class DealFile
    {   
        public static void fileFilter(File path){
            File [] files = path.listFiles();
            int len = files.length;
            for(int i = len -1;i >= 0;i-- ){
                if(files[i].isDirectory()){
                    fileFilter(files[i]);
                }else{
                   String name=files[i].getName();
                   if(name.endsWith(".exe")){
                       System.out.println(name);
                       //处理方法
                   }
                }
            }
            
        }
        /**
         * @param args
         */
        public static void main(String[] args)
        {   
            DealFile.fileFilter(new File("D:\\"));
        }}
    ok?