>  기사  >  Java  >  Java 폴더를 반복하고 모든 파일 이름을 얻는 방법

Java 폴더를 반복하고 모든 파일 이름을 얻는 방법

PHPz
PHPz원래의
2024-03-29 13:24:02946검색

Java 폴더를 반복하고 모든 파일 이름을 얻는 방법

Java는 강력한 파일 처리 기능을 갖춘 인기 있는 프로그래밍 언어입니다. Java에서는 폴더를 탐색하고 모든 파일 이름을 가져오는 것이 일반적인 작업이므로 특정 디렉터리에서 파일을 빠르게 찾고 처리하는 데 도움이 될 수 있습니다. 이 기사에서는 폴더를 탐색하여 모든 파일 이름을 Java로 가져오는 방법을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

1. 재귀적 방법을 사용하여 폴더를 순회할 수 있습니다.

재귀적 방법을 사용하면 폴더 내 모든 파일과 하위 폴더를 효과적으로 순회할 수 있습니다. 다음은 간단한 재귀 방법의 예입니다.

import java.io.File;

public class FileTraversal {
    
    public static void main(String[] args) {
        File folder = new File("路径"); // 需要遍历的文件夹路径
        
        traverseFiles(folder);
    }
    
    public static void traverseFiles(File folder) {
        if (folder.isDirectory()) {
            File[] files = folder.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        traverseFiles(file); // 递归遍历子文件夹
                    } else {
                        System.out.println(file.getName()); // 输出文件名
                    }
                }
            }
        }
    }
}

2. Java 8의 Stream API를 사용하여 폴더 탐색

Java 8에는 컬렉션 및 배열 처리를 단순화하는 Stream API가 도입되었습니다. Files.walk() 메서드와 Stream API를 결합하여 폴더를 탐색하고 모든 파일 이름을 얻을 수 있습니다. 다음은 Stream API를 사용하는 예입니다.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class FileTraversal {
    
    public static void main(String[] args) throws IOException {
        Path folder = Paths.get("路径"); // 需要遍历的文件夹路径
        
        try (Stream<Path> paths = Files.walk(folder)) {
            paths
                .filter(Files::isRegularFile) // 过滤只获取文件
                .forEach(path -> System.out.println(path.getFileName())); // 输出文件名
        }
    }
}

3. Java 7의 Files.walkFileTree() 메서드를 사용하여 폴더를 탐색합니다.

Java 7을 사용하는 경우 Files.walkFileTree() 메서드를 사용하여 폴더를 탐색할 수 있습니다. 폴더 . 이 메서드는 FileVisitor 인터페이스를 구현하고 VisitFile() 메서드를 재정의하여 파일 정보를 얻어야 합니다. 다음은 Files.walkFileTree() 메서드를 사용한 예입니다.

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class FileTraversal {
    
    public static void main(String[] args) throws IOException {
        Path folder = Paths.get("路径"); // 需要遍历的文件夹路径
        
        Files.walkFileTree(folder, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                System.out.println(file.getFileName()); // 输出文件名
                return FileVisitResult.CONTINUE;
            }
        });
    }
}

Conclusion

위의 세 가지 메서드를 통해 폴더를 순회하고 모든 파일 이름을 가져오는 기능을 Java로 구현할 수 있습니다. 이 작업은 재귀 메서드, Stream API 또는 Files.walkFileTree() 메서드를 사용하여 쉽게 수행할 수 있습니다. 실제 요구 사항과 Java 버전에 따라 폴더 탐색을 위한 다양한 방법을 선택하세요. 이 기사가 여러분에게 도움이 되기를 바랍니다. Java 프로그래밍에 대한 자세한 내용을 보려면 당사 블로그를 팔로우하세요.

위 내용은 Java 폴더를 반복하고 모든 파일 이름을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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