[java] 파일 입출력을 위한 Apache Commons IO 사용법

파일 입출력은 자바 프로그래밍에서 중요한 부분입니다. 그러나 자바 표준 라이브러리에서 제공하는 입출력 기능의 경우 상대적으로 복잡하고 번거로운 면이 있습니다. 이러한 문제를 해결하기 위해 Apache Commons IO 라이브러리를 사용할 수 있습니다. Apache Commons IO는 파일 입출력 작업을 간편하게 처리하기 위한 유용한 기능들을 제공합니다.

Apache Commons IO 라이브러리 추가하기

먼저 Apache Commons IO 라이브러리를 프로젝트에 추가해야 합니다. 다음과 같이 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 FileCopyExample {
    public static void main(String[] args) {
        try {
            File sourceFile = new File("source.txt");
            File destFile = new File("destination.txt");
            FileUtils.copyFile(sourceFile, destFile);
            System.out.println("파일이 성공적으로 복사되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서 source.txt 파일을 destination.txt 파일로 복사합니다.

파일 읽기

Apache Commons IO를 사용하여 파일을 읽을 수도 있습니다. 다음은 FileUtils 클래스의 readFileToString() 메소드를 사용하여 파일을 읽고 문자열로 반환하는 예제입니다.

import org.apache.commons.io.FileUtils;

public class FileReadExample {
    public static void main(String[] args) {
        try {
            File file = new File("sample.txt");
            String content = FileUtils.readFileToString(file, "UTF-8");
            System.out.println("파일 내용: " + content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서 sample.txt 파일을 읽고 그 내용을 출력합니다.

파일 쓰기

또한 Apache Commons IO를 사용하여 파일에 쓸 수도 있습니다. 다음은 FileUtils 클래스의 writeStringToFile() 메소드를 사용하여 문자열을 파일에 쓰는 예제입니다.

import org.apache.commons.io.FileUtils;

public class FileWriteExample {
    public static void main(String[] args) {
        try {
            File file = new File("output.txt");
            String content = "Hello, World!";
            FileUtils.writeStringToFile(file, content, "UTF-8");
            System.out.println("파일에 내용이 성공적으로 쓰였습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서 output.txt 파일에 “Hello, World!”라는 내용을 작성합니다.

결론

Apache Commons IO를 사용하면 자바에서 파일 입출력 작업을 더 간단하게 처리할 수 있습니다. 위에서 소개한 예제들은 일반적인 파일 입출력 작업에 대한 간단한 사용법을 보여줍니다. 각각의 메소드들은 다양한 옵션과 오류 처리 기능을 제공하므로, 문서를 참조하여 더 자세한 사용법을 확인할 수 있습니다.

참고 자료