俊星的BLOG

          JAVA小工具之文件查找

          需要在一堆文件夾中查找一個exe文件,實在無法忍受windows的查找功能,自己寫了一個簡單的JAVA類,實現了查找:
          package test.tool;

          import java.io.BufferedReader;
          import java.io.File;
          import java.io.FileReader;
          import java.io.IOException;
          import java.util.regex.Matcher;
          import java.util.regex.Pattern;

          /**
           * 
           * 
          @author kinkding
           * @history 2009-5-26
           
          */

          public class FindFile {
              
          private String fileName = "";
              
          private String dir = "";
              
          private Matcher m = null;
              
          private int count = 0;

              
          public FindFile() throws IOException {
                  String f 
          = FindFile.class.getResource("findfile.properties").getFile();
                  BufferedReader read 
          = new BufferedReader(new FileReader(f));
                  dir 
          = read.readLine().trim();
                  fileName 
          = read.readLine().trim();
                  Pattern p 
          = Pattern.compile(fileName);
                  m 
          = p.matcher("");
              }


              
          public void find() {
                  File root 
          = new File(dir);
                  
          for (File f : root.listFiles()) {
                      
          if (f.isDirectory()) {
                          dir 
          = f.getAbsolutePath();
                          find();
                      }
           else {
                          m.reset(f.getName());
                          
          if (m.find()) {
                              count
          ++;
                              System.out.println(f.getAbsolutePath());
                          }

                      }

                  }

              }


              
          public static void main(String[] args) {
                  
          try {
                      FindFile ff 
          = new FindFile();
                      ff.find();
                      System.out.println(
          "\n共找到文件數目:" + ff.count);
                  }
           catch (IOException e) {
                      e.printStackTrace();
                  }

              }

          }


          findfile.properties:
          F:\download
          vod.
          *.exe

          運行效果如下:
          F:\download\firefox\vodplayer.exe
          F:\download\ie\vodplayer.exe

          共找到文件數目:
          2

          相關說明:
          之所以加載配置文件時不采用java.util.Properties類,是因為配置的路徑“F:\download”通過getProperty方法取得時候,去掉了文件分割符,所以直接就采用流的方式讀取,第一行默認目錄,第二行默認文件名,并且對文件名采用正則匹配。

          posted on 2009-05-26 22:54 俊星 閱讀(850) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 曲靖市| 安平县| 安乡县| 万源市| 四平市| 新巴尔虎右旗| 德庆县| 武乡县| 阿拉善左旗| 平遥县| 苏尼特右旗| 凤翔县| 隆子县| 福安市| 阿拉善左旗| 绩溪县| 定兴县| 柘荣县| 依兰县| 马公市| 花莲市| 道孚县| 临海市| 滨州市| 九龙坡区| 罗定市| 翁牛特旗| 金塔县| 兴和县| 巴塘县| 本溪市| 吉首市| 铜川市| 德惠市| 小金县| 楚雄市| 岚皋县| 温宿县| 洪洞县| 兴国县| 昆山市|