请给详细代码
谢谢

解决方案 »

  1.   


    package dyy.superSearch;import java.io.File;
    import java.util.ArrayList;
    import java.util.List;public class NormalSearch {
    private List<String> directs; public List<String> search(String fileName) {
    directs = new ArrayList<String>();
    File[] roots = File.listRoots();
    for (int i = 0; i < roots.length; i++) {
    subSearch(roots[i], fileName);
    }
    return directs;
    } public List<String> search(String area, String fileName) {
    directs = new ArrayList<String>();
    subSearch(new File(area), fileName);
    return directs;
    } private void subSearch(File file, String fileName) {
    if (file.getName().toLowerCase().equals(fileName.toLowerCase())) {
    directs.add(file.getAbsolutePath());
    }
    if (file.isDirectory()) {
    File[] subFiles = file.listFiles();
    for (int i = 0; i < subFiles.length; i++) {
    subSearch(subFiles[i], fileName);
    }
    }
    } public static void main(String[] args) {
    NormalSearch ns = new NormalSearch();
    // 指定查找范围
    // 达到 LZ 的要求,只要设置范围是 c:/windows 就可以了
    List<String> list = ns.search("e:/aaa", "新建 文本文档.txt");
    for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    } // 因为是查找所有盘符,所以时间有点长,做好心理准备~~~
    list = ns.search("新建 文本文档.txt");
    for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    }
    }
    }