俊星的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 俊星 阅读(844) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: