如:
d:\file\file.ini
d:\file\file1\file.ini
d:\file\file2\file.ini
d:\file\file3\file.inid盘下面有3个文件夹,和一个文件,现在需要从d:\file目录开始获取下面所有file.ini文件
请问有谁做过没有啊。

解决方案 »

  1.   

    首选实例化File: File file = new File("d:\\file");
    然后获取它所有的子元素.file.listFiles()!
    判断是否是目录? isDirectory, 是目录就继续找, 不是目录就判断是不是file.ini可以用递归弄一下
      

  2.   

    import java.io.File;
    import java.io.FileFilter;public class SearchFile {
     private static final class OnlyFile implements FileFilter {
      public boolean accept(File pathname) {
       if (pathname.isFile()) {
        return true;
       } else {
        return false;
       }
      }
     } public static void main(String[] args) {
      if (args.length != 2) {
       System.out.println("使用说明:请输入java SearchFile 目录 文件名");
      } else {
       File file = new File(args[0]);
       File[] files = file.listFiles(new OnlyFile());
       for (File f : files) {
        if (f.getName().contains(args[1])) {
         System.out.println(f.getPath());
        }
       }
      }
     }
      

  3.   

    import java.io.File;
    import java.io.FileFilter;
    public class test {
    public   static   void   printDirect(File   root)
    {   
    if(root.getName() == "file.ini")
    System.out.println(root);
       
        File   subroots[]=root.listFiles(new   FileFilter()
        {   
            public   boolean   accept(File   pathname)   
            {   
                return   pathname.isFile();   
            }   
        }); 
        
        if(subroots!=null){   
            for(int   i=0;i<subroots.length;i++){   
                printDirect(subroots[i]);   
            }   
        }   
    }   
    public   static   void   main(String[]   args)   throws   Exception   {   
        printDirect(new   File("c:"));   
    }
    }