Java 파일 트리 탐색: 재귀적 목록 숙달
파일 시스템의 반복적 탐색은 어려운 작업일 수 있지만 Java는 단순화하기 위한 여러 가지 접근 방식을 제공합니다.
Java 8에는 파일 처리를 위한 강력한 도구가 도입되었습니다. 파일.워크. 이 방법은 지정된 디렉터리 트리를 재귀적으로 순회하여 Path 개체의 스트림을 반환하는 스트림 기반 접근 방식을 제공합니다.
Files.walk를 사용하여 디렉터리의 모든 파일을 재귀적으로 나열하려면:
try (Stream<Path> stream = Files.walk(Paths.get(path))) { stream.filter(Files::isRegularFile) .forEach(System.out::println); }
이 스트림 기반 솔루션을 사용하면 파일 목록을 유연하게 조작할 수 있습니다. 예를 들어 검색을 제한하거나 속성을 기준으로 파일을 그룹화하거나 탐색을 조기에 종료할 수 있습니다.
Java는 BiPredicate를 인수로 사용하는 Files.find도 제공합니다. 이 방법은 파일 속성을 확인할 때 더 최적화된 접근 방식을 사용합니다.
Files.find(Paths.get(path), Integer.MAX_VALUE, (filePath, fileAttr) -> fileAttr.isRegularFile()) .forEach(System.out::println);
성능 측면에서, 필터 내에서 파일 속성도 검색하는 경우 Files.find가 Files.walk보다 약간 더 효율적일 수 있습니다.
요약하자면 Files.walk는 편리한 스트림 기반 접근 방식을 제공하는 반면 Files.find는 속성 기반 필터링에 최적화된 솔루션을 제공합니다. 유연성과 성능 요구 사항에 가장 적합한 방법을 선택하세요.
위 내용은 효율적인 재귀 파일 트리 탐색을 위해 Java의 `Files.walk` 및 `Files.find`를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!