我正在尝试显示符合特定模式的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);
}
}
}
}
}
}