显示与特定模式匹配的目录和子目录中的文件

时间:2018-05-07 02:50:22

标签: java file

我正在尝试显示符合特定模式的D:驱动器内的所有文件。请告诉我哪里出错了。它抛出NullPointerException。

    import java.io.File;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class Demo {
        public static void main(String[] args) {
            File currentDir = new File("D:\\");
            displayDirectoryContents(currentDir);
        }

        public static void displayDirectoryContents(File dir) {

            File[] files = dir.listFiles();
            for (File file : files) {
                if (file.isDirectory()) {
                    displayDirectoryContents(file);
                } else {
                    Pattern p = Pattern.compile("[a-zA-Z0-9-._ ]*[.]txt");
                    String[] s = file.list();
                    for (String s1 : s) {
                        Matcher m = p.matcher(s1);
                        if (m.find() && m.group().equals(s1)) {
                            System.out.println(s1);
                        }
                    }
                }
            }
        }
    }

0 个答案:

没有答案