俊星的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 俊星 閱讀(849) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 泗水县| 普洱| 尉氏县| 高平市| 双柏县| 习水县| 全椒县| 屏东市| 遂川县| 娄烦县| 大埔县| 嵊州市| 邵阳县| 迁安市| 平乡县| 虎林市| 洪泽县| 凉城县| 深州市| 盘锦市| 宁武县| 涞水县| 任丘市| 洛隆县| 衡东县| 绍兴市| 威宁| 龙山县| 平定县| 江安县| 伊春市| 盐津县| 兴山县| 白银市| 沈丘县| 秦安县| 长阳| 卓资县| 芮城县| 文水县| 宜阳县|