@Test
public void testFile() throws Exception {
File file = new File("C:\\Users\\Administrator\\Desktop\\sql.txt");
System.out.println("file.getName() = " + file.getName());
System.out.println("file.getParent() = " + file.getParent());
System.out.println("file.getAbsolutePath() = " + file.getAbsolutePath());
System.out.println("file.isDirectory() = " + file.isDirectory());
System.out.println("file.isFile() = " + file.isFile());
System.out.println("file.length() = " + file.length());
System.out.println("file.listFiles() = " + file.listFiles());
System.out.println("file.createNewFile() = " + file.createNewFile());
System.out.println("file.mkdir() = " + file.mkdir());
System.out.println("file.mkdirs() = " + file.mkdirs());
System.out.println("file.lastModified() = " + file.lastModified());
file.deleteOnExit();
}
public static void main(String[] args) {
String rootPath = "D:\\test";
String suffix = ".h";
List<String> filePaths = new ArrayList<>();
getPath(rootPath, filePaths, suffix);
filePaths.forEach(System.out::println);
}
private static void getPath(String rootPath, List<String> filePaths, String suffix) {
File file = new File(rootPath);
Optional<File[]> files = Optional.ofNullable(file.listFiles(
(f) -> f.isDirectory() || f.getName().endsWith(suffix)
));
files.ifPresent(fs -> {
for (File f : fs) {
if (f.isDirectory()) {
getPath(f.getAbsolutePath(), filePaths, suffix);
} else {
filePaths.add(f.getAbsolutePath());
}
}
});
}