>Java >java지도 시간 >Java에서 파일 및 하위 디렉터리를 재귀적으로 반복하는 방법은 무엇입니까?

Java에서 파일 및 하위 디렉터리를 재귀적으로 반복하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 05:45:11519검색

How to Recursively Iterate Through Files and Subdirectories in Java?

Java를 사용하여 디렉터리 및 하위 디렉터리의 파일을 반복하는 방법

하위 디렉터리 내의 파일을 포함하여 포괄적인 파일 목록을 얻기 위해 Java는 다음을 제공합니다. 간단한 솔루션. 재귀를 활용하면 파일 시스템을 효과적으로 탐색할 수 있습니다.

재귀 접근 방식

File#isDirectory()를 활용하여 파일이 디렉터리를 나타내는지 확인합니다. true인 경우 File#listFiles()의 결과로 프로세스를 반복합니다. 이를 재귀라고 합니다.

다음은 구현 예입니다.

public static void showFiles(File[] files) {
    for (File file : files) {
        if (file.isDirectory()) {
            System.out.println("Directory: " + file.getAbsolutePath());
            showFiles(file.listFiles()); // Recursive call
        } else {
            System.out.println("File: " + file.getAbsolutePath());
        }
    }
}

Java 8의 Files#walk

Java 8 이상의 경우 Files #walk()는 tail을 사용하는 편리한 대안을 제공합니다. 재귀:

Files.walk(dir).forEach(path -> showFile(path.toFile()));

이는 깊은 계층 구조를 안전하게 처리하여 과도한 재귀로 인한 잠재적인 StackOverflowError를 방지합니다.

위 내용은 Java에서 파일 및 하위 디렉터리를 재귀적으로 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.