[java] 파일 라인 단위로 분할 및 병합 오류 처리를 위한 Apache Commons IO 사용법

Apache Commons IO는 Java 언어로 작성된 파일 및 스트림 처리를 위한 유용한 기능을 제공하는 라이브러리입니다. 이번 포스트에서는 파일 라인 단위로 분할하고 병합하는 작업을 수행할 때 발생할 수 있는 오류 처리에 대해 알아보겠습니다.

파일 라인 단위로 분할하기

Apache Commons IO를 사용하여 파일을 라인 단위로 분할하려면 LineIterator 클래스를 사용합니다. 다음은 간단한 예제 코드입니다.

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
import java.io.File;
import java.io.IOException;

public class FileSplitter {
    public static void main(String[] args) {
        File inputFile = new File("input.txt");
        
        try {
            LineIterator iterator = FileUtils.lineIterator(inputFile, "UTF-8");
            int lineNumber = 0;
            
            while (iterator.hasNext()) {
                String line = iterator.next();
                lineNumber++;
                
                // 각 라인에 대한 작업 수행
                // ...
            }
            
            iterator.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 input.txt 파일을 LineIterator로 읽어와, 한 줄씩 처리하고 있습니다.

파일 병합하기

Apache Commons IO를 사용하여 파일을 병합하는 방법은 다음과 같습니다.

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.List;

public class FileMerger {
    public static void main(String[] args) {
        File outputFile = new File("output.txt");
        
        try {
            // 병합할 파일들을 리스트로 저장
            List<File> inputFiles = List.of(new File("file1.txt"), new File("file2.txt"), new File("file3.txt"));
            
            // 파일들 병합
            for (File inputFile : inputFiles) {
                FileUtils.writeLines(outputFile, FileUtils.readLines(inputFile, "UTF-8"), true);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 file1.txt, file2.txt, file3.txt 파일들을 output.txt 파일로 병합하고 있습니다.

오류 처리하기

파일 라인 단위로 분할하거나 병합할 때 발생할 수 있는 오류를 처리하기 위해 예외 처리를 추가할 수 있습니다. 위 예제 코드에서는 IOException이 발생하면 해당 예외를 출력하고 있습니다. 필요에 따라 예외 처리를 수정하거나 로깅을 추가하여 오류에 대한 적절한 처리를 할 수 있습니다.

결론

Apache Commons IO를 사용하면 파일 및 스트림 처리 작업을 보다 편리하고 안전하게 수행할 수 있습니다. 파일 라인 단위로 분할하고 병합할 때 발생할 수 있는 오류 처리 방법을 알아보았으며, 필요한 예외 처리를 추가하여 안정성을 높일 수 있습니다. Apache Commons IO의 다양한 기능을 활용하여 더욱 효율적인 파일 처리를 할 수 있습니다.

참고: 공식 Apache Commons IO 문서