>Java >java지도 시간 >Java에서 특정 와일드카드 패턴과 일치하는 파일을 어떻게 찾을 수 있습니까?

Java에서 특정 와일드카드 패턴과 일치하는 파일을 어떻게 찾을 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-07 13:21:15921검색

How Can I Find Files Matching Specific Wildcard Patterns in Java?

지정된 와일드카드 패턴을 사용하여 파일 찾기

파일 및 디렉터리 관리 작업을 할 때 다음과 같은 파일을 검색해야 하는 시나리오에 직면하는 것이 일반적입니다. 특정 와일드카드 패턴을 준수합니다. Java에는 이 작업을 수행하기 위한 여러 접근 방식이 있습니다.

한 가지 인기 있는 방법은 Apache Commons IO의 WildcardFileFilter 클래스를 활용하는 것입니다. 이 필터를 사용하면 와일드카드 패턴을 지정할 수 있습니다. 사용법을 설명하려면 다음 코드 예제를 고려하십시오.

File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.txt");
File[] files = dir.listFiles(fileFilter);

for (File file : files) {
    System.out.println(file.getName());
}

이 예제에서 dir 변수는 파일을 검색하려는 디렉터리를 나타냅니다. fileFilter 개체는 와일드카드 패턴 "sample*.txt"로 구성됩니다. 결과적으로 이 코드는 이름이 "sample"로 시작하고 .txt로 끝나는 dir 디렉터리 내의 모든 파일을 나열합니다.

와일드카드 패턴에 디렉터리 이름(예: ".txt")이 포함될 수 있는 시나리오를 처리합니다. ./Test?/sample*.txt"), WildcardFileFilter를 루프와 결합하여 하위 디렉터리를 반복하고 각 수준에서 필터를 적용할 수 있습니다. 다음 코드는 이를 달성하는 방법을 보여줍니다.

File dir = new File(".");
FileFilter fileFilter = new WildcardFileFilter("sample*.txt");
File[] dirs = dir.listFiles(new WildcardFileFilter("Test*.java"));

for (File subdir : dirs) {
    if (subdir.isDirectory()) {
        File[] subdirFiles = subdir.listFiles(fileFilter);
        // Do something with subdirFiles
    }
}

이 예에서 코드는 "Test*.java" 패턴과 일치하는 dir 디렉터리 내의 모든 하위 디렉터리를 반복합니다. 각 하위 디렉터리에 대해 listFiles 메서드를 fileFilter와 함께 다시 사용하여 "sample*.txt" 패턴과 일치하는 파일을 검색합니다.

이 접근 방식을 채택하면 파일 이름과 디렉터리를 모두 포함하는 복잡한 와일드카드 패턴을 처리할 수 있습니다. 이름. 이는 Java의 특정 와일드카드 기준을 충족하는 파일을 검색하기 위한 포괄적인 솔루션을 제공합니다.

위 내용은 Java에서 특정 와일드카드 패턴과 일치하는 파일을 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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