[java] 파일 이름과 경로 처리를 위한 Apache Commons IO 사용법

파일 및 경로 처리는 Java 프로그래밍에서 일반적인 작업 중 하나입니다. Apache Commons IO 라이브러리는 파일 및 경로 작업을 간편하게 처리할 수 있는 유용한 기능을 제공합니다. 이번 블로그 포스트에서는 Apache Commons IO 라이브러리를 사용하여 파일 이름과 경로를 처리하는 방법에 대해 알아보겠습니다.

Apache Commons IO 소개

Apache Commons IO는 Apache Software Foundation에서 개발된 오픈 소스 자바 라이브러리입니다. 이 라이브러리는 파일 및 디렉토리 작업, 입출력 스트림 처리, 파일 필터링, 파일 복사 등을 포함한 다양한 파일 및 경로 관련 유틸리티를 제공합니다.

Maven 종속성 추가

먼저, 프로젝트의 Maven 종속성에 Apache Commons IO를 추가해야 합니다. pom.xml 파일에 다음 종속성을 추가하세요:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.11.0</version>
</dependency>

위의 종속성을 추가하면 Apache Commons IO 라이브러리를 프로젝트에서 사용할 수 있습니다.

파일 이름 및 확장자 가져오기

파일 이름과 확장자를 가져오는 것은 파일 작업에서 자주 사용되는 기능입니다. Apache Commons IO를 사용하여 파일 이름과 확장자를 가져오는 방법은 다음과 같습니다:

import org.apache.commons.io.FilenameUtils;

public class FileUtilsExample {
    public static void main(String[] args) {
        String filename = "example.txt";
        
        // 파일 이름 가져오기
        String name = FilenameUtils.getBaseName(filename);
        System.out.println("파일 이름: " + name);
        
        // 확장자 가져오기
        String extension = FilenameUtils.getExtension(filename);
        System.out.println("확장자: " + extension);
    }
}

위의 예제에서는 example.txt 파일의 이름과 확장자를 가져와 출력합니다. FilenameUtils 클래스의 getBaseName() 메서드는 파일 이름을, getExtension() 메서드는 파일 확장자를 반환합니다.

경로 조작하기

파일 경로를 조작하는 것도 Apache Commons IO 라이브러리를 사용하면 간단합니다. 아래 예제에서는 파일 경로를 조작하는 방법을 보여줍니다:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class FileUtilsExample {
    public static void main(String[] args) {
        String filePath = "/path/to/example.txt";
        
        // 경로에서 파일 이름 가져오기
        String filename = FilenameUtils.getName(filePath);
        System.out.println("파일 이름: " + filename);
        
        // 경로에서 디렉토리 경로 가져오기
        String directory = FilenameUtils.getFullPath(filePath);
        System.out.println("디렉토리 경로: " + directory);
        
        // 경로에서 확장자 제거하기
        String pathWithoutExtension = FilenameUtils.removeExtension(filePath);
        System.out.println("확장자 제거한 경로: " + pathWithoutExtension);
        
        // 새로운 파일 경로 생성하기
        String newFilePath = FilenameUtils.concat(directory, "newfile.txt");
        System.out.println("새로운 파일 경로: " + newFilePath);
        
        // 파일 이동하기
        File file = new File(filePath);
        File newFile = new File(newFilePath);
        FileUtils.moveFile(file, newFile);
    }
}

위의 코드는 /path/to/example.txt 경로에서 파일 이름, 디렉토리 경로, 확장자를 가져오고, 확장자를 제거한 경로를 생성하는 방법을 보여줍니다. 또한, 파일을 이동하는 예제도 포함되어 있습니다.

결론

Apache Commons IO는 자바에서 파일 이름과 경로 처리를 간편하게 해주는 유용한 라이브러리입니다. 이번 포스트에서는 파일 이름과 확장자를 가져오는 방법과 파일 경로를 조작하는 방법에 대해 알아보았습니다. Apache Commons IO 라이브러리의 다른 유용한 기능들도 함께 살펴보시기 바랍니다.

참고 자료