[java] Apache Commons IO를 이용한 파일과 디렉토리 검색하기

파일과 디렉토리를 검색하고 조작하는 작업은 프로그래밍에서 자주 사용되는 일입니다. Java에서는 Apache Commons IO 라이브러리를 사용하여 파일 및 디렉토리 검색을 간단하게 수행할 수 있습니다. 이 블로그 포스트에서는 Apache Commons IO를 사용하여 파일과 디렉토리를 검색하는 방법을 살펴보겠습니다.

Apache Commons IO란?

Apache Commons IO는 Java에서 파일 및 디렉토리 조작을 위한 유용한 기능을 제공하는 라이브러리입니다. 이 라이브러리는 Apache Software Foundation에서 개발되었으며, 파일 및 디렉토리 복사, 이동, 삭제 등의 작업을 간단하게 수행할 수 있습니다. 또한 파일과 디렉토리의 속성, 크기, 수정 날짜와 같은 정보를 가져올 수도 있습니다.

파일 및 디렉토리 검색을 위한 Apache Commons IO 사용하기

먼저, Apache Commons IO 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

이제 파일 및 디렉토리 검색을 위해 FileUtils 클래스를 사용할 수 있습니다. 다음은 FileUtils 클래스를 사용하여 특정 디렉토리에서 특정 확장자를 가진 파일을 검색하는 예제입니다:

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.util.Collection;

public class FileSearchExample {

    public static void main(String[] args) {
        File directory = new File("/path/to/directory");
        String[] extensions = {"txt", "csv"};

        Collection<File> files = FileUtils.listFiles(directory, extensions, true);

        for (File file : files) {
            System.out.println("Found file: " + file.getAbsolutePath());
        }
    }
}

위의 예제에서는 /path/to/directory 경로의 디렉토리에서 확장자가 .txt 또는 .csv인 파일을 검색합니다. FileUtils.listFiles() 메서드는 지정된 디렉토리에서 파일을 검색하고, 조건에 일치하는 파일들을 Collection<File> 형태로 반환합니다.

결론

Apache Commons IO는 파일 및 디렉토리 조작을 위한 강력한 도구입니다. 파일 및 디렉토리 검색을 수행할 때는 FileUtils 클래스를 사용하여 간결하고 효율적인 코드를 작성할 수 있습니다. Apache Commons IO의 다양한 기능을 사용하여 파일 및 디렉토리 조작에 대한 더 많은 작업을 수행할 수 있습니다.

참고 자료