1. package com.august.xgame.server.test; 
  2.  
  3. import java.io.File; 
  4. import java.io.FilenameFilter; 
  5. import java.util.regex.Pattern; 
  6.  
  7.  
  8. public class FileTest 
  9.     public static void main(String[] args) 
  10.     { 
  11.         File path = new File("E:/test/game/src"); 
  12.         search(path); 
  13.     } 
  14.      
  15.     private static void search(File path) 
  16.     { 
  17.         File[] files = path.listFiles(); 
  18.         if (path.getAbsoluteFile().equals("E:/test/game/src")) 
  19.         { 
  20.             listFileteredFileName(path); 
  21.         } 
  22.         for (File file : files) 
  23.         { 
  24.             if (file.isDirectory()) 
  25.             { 
  26.                 listFileteredFileName(file); 
  27.                 search(file); 
  28.             } 
  29.         } 
  30.     } 
  31.      
  32.     private static void listFileteredFileName(File file) 
  33.     { 
  34.         String[] files = file.list(new DirFile("\\w+.java"));//正则表达式 
  35.         for (String filename : files) 
  36.         { 
  37.             System.out.println(filename + "   "); 
  38.         } 
  39.     } 
  40.  
  41.     class DirFile implements FilenameFilter 
  42.     { 
  43.         private Pattern pattern; 
  44.          
  45.         public DirFile(String regex) 
  46.         { 
  47.             pattern = Pattern.compile(regex);//编译,绘制 
  48.         } 
  49.  
  50.         @Override 
  51.         public boolean accept(File dir, String name) 
  52.         { 
  53.             return pattern.matcher(name).matches(); 
  54.         } 
  55.          
  56.     }