JAVA/JAVA

폴더내 파일 검색

lovineff 2020. 6. 4. 17:37
Path path = Paths.get("D:\\Desktop\\새 폴더 (6)");
// 1번 방법.. 많이 사용하는 방식(느리며, 효율적이지 않음)
try(Stream<Path> stream = Files.walk(path)){
	long cnt =
		stream.filter(s ->{
			return !Files.isDirectory(s) && s.getFileName().toString().startsWith("applicationContext");
		}).count();
	System.out.println(cnt);

} catch (IOException e) {
	e.printStackTrace();
}

// 2번 방법.. 1번 방법보다 비교도 안되게 빠름.
try(Stream<Path> stream = Files.find(path, Integer.MAX_VALUE, (p, a) -> !a.isDirectory() && p.getFileName().toString().startsWith("applicationContext"))){
	System.out.println(stream.count());
} catch (IOException e) {
	e.printStackTrace();
}