Java를 사용하여 파일을 재귀적으로 열거
지정된 디렉토리 아래의 파일을 재귀적으로 나열하는 옵션을 탐색하면서 다양한 접근 방식을 알아냈습니다. "해키" 구현이 존재하지만 Java 프레임워크 자체는 이 작업을 간소화하는 강력한 유틸리티를 제공합니다.
Java 8의 간소화된 접근 방식
Java 8은 편리한 스트림 기반 솔루션을 도입합니다. :
try (Stream<Path> stream = Files.walk(Paths.get(path))) { stream.filter(Files::isRegularFile) .forEach(System.out::println); }
이 접근 방식은 파일을 탐색하는 우아한 방법을 제공하고 필터링, 매핑 및 제한과 같은 광범위한 스트림 작업.
Files.find: 파일 속성 필터링
Java는 또한 양방향을 허용하는 Files.find를 제공합니다. 속성을 기반으로 파일을 필터링하는 조건:
Files.find(Paths.get(path), Integer.MAX_VALUE, (filePath, fileAttr) -> fileAttr.isRegularFile()) .forEach(System.out::println);
Files.find는 다음과 같은 경우 특정 최적화를 제공할 수 있습니다. 속성을 필터링하면 성능은 일반적으로 Files.walk와 비슷합니다.
성능 비교
이러한 접근 방식을 평가할 때 사용량에 따른 구체적인 성능 영향을 고려하는 것이 좋습니다. 대본. 더 자세한 통찰력을 얻으려면 결과와 테스트 사례를 제공하는 답변 업데이트의 GitHub 프로젝트를 참조하세요.
위 내용은 Java는 어떻게 파일을 효율적으로 재귀적으로 열거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!