filefinder.java

来自「检查Java程序漏洞」· Java 代码 · 共 40 行

JAVA
40
字号
/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html*/package net.sourceforge.pmd.cpd;import java.io.File;import java.io.FilenameFilter;import java.util.ArrayList;import java.util.List;public class FileFinder {    private FilenameFilter filter;    private static final String FILE_SEP = System.getProperty("file.separator");    public List findFilesFrom(String dir, FilenameFilter filter, boolean recurse) {        this.filter = filter;        List files = new ArrayList();        scanDirectory(new File(dir), files, recurse);        return files;    }    /**     * Implements a tail recursive file scanner     */    private void scanDirectory(File dir, List list, boolean recurse) {        String[] candidates = dir.list(filter);        for (int i = 0; i < candidates.length; i++) {            File tmp = new File(dir + FILE_SEP + candidates[i]);            if (tmp.isDirectory()) {                if (recurse) {                    scanDirectory(tmp, list, true);                }            } else {                list.add(new File(dir + FILE_SEP + candidates[i]));            }        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?