[java] 파일 복사 및 이동을 위한 Apache Commons IO 사용법

파일을 복사하거나 이동하는 것은 자바 프로그래밍에서 자주 발생하는 작업 중 하나입니다. 이를 수행하기 위해 JDK에는 기본적인 파일 복사 및 이동 기능을 제공하고 있지만, Apache Commons IO 라이브러리를 사용하면 더욱 편리하게 파일 작업을 처리할 수 있습니다.

이번 블로그 포스트에서는 Apache Commons IO 라이브러리를 사용하여 파일 복사와 이동을 수행하는 방법을 알아보겠습니다.

Apache Commons IO 라이브러리 추가

먼저, 프로젝트에 Apache Commons IO 라이브러리를 추가해야 합니다. Maven이나 Gradle과 같은 의존성 관리 도구를 사용한다면, 해당 도구를 통해 라이브러리를 추가할 수 있습니다. 아래는 Maven을 사용한 예시입니다.

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

파일 복사하기

Apache Commons IO를 사용하여 파일을 복사하는 방법은 매우 간단합니다. FileUtils 클래스의 copyFile 메서드를 사용하면 됩니다.

import org.apache.commons.io.FileUtils;

public class FileExample {
    public static void main(String[] args) {
        File sourceFile = new File("path/to/source/file.txt");
        File destFile = new File("path/to/destination/file.txt");
        
        try {
            FileUtils.copyFile(sourceFile, destFile);
            System.out.println("파일이 성공적으로 복사되었습니다.");
        } catch (IOException e) {
            System.out.println("파일 복사 중 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

위의 예시에서는 copyFile 메서드를 사용하여 sourceFiledestFile로 복사하고 있습니다. 복사가 성공적으로 수행되면 "파일이 성공적으로 복사되었습니다."라는 메시지가 출력됩니다. 만약 복사 과정 중에 오류가 발생한다면 IOException이 발생하며, 이를 처리하기 위해 예외 처리를 수행하고 있습니다.

파일 이동하기

파일을 이동하는 것은 파일 복사와 비슷한 방식으로 수행됩니다. FileUtils 클래스의 moveFile 메서드를 사용하면 됩니다.

import org.apache.commons.io.FileUtils;

public class FileExample {
    public static void main(String[] args) {
        File sourceFile = new File("path/to/source/file.txt");
        File destFile = new File("path/to/destination/file.txt");
        
        try {
            FileUtils.moveFile(sourceFile, destFile);
            System.out.println("파일이 성공적으로 이동되었습니다.");
        } catch (IOException e) {
            System.out.println("파일 이동 중 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

위의 예시에서는 moveFile 메서드를 사용하여 sourceFiledestFile로 이동하고 있습니다. 이동이 성공적으로 수행되면 "파일이 성공적으로 이동되었습니다."라는 메시지가 출력됩니다. 오류가 발생한다면 마찬가지로 IOException이 발생하고, 이를 처리하기 위해 예외 처리를 수행하고 있습니다.

참고 자료

이번 포스트에서는 Apache Commons IO 라이브러리를 사용하여 파일 복사 및 이동을 수행하는 방법을 알아보았습니다. 라이브러리를 사용하면 보다 효율적으로 파일 작업을 처리할 수 있으므로, 필요한 경우에는 이를 적극 활용해 보시기 바랍니다.