[java] OpenCSV를 사용하여 CSV 파일의 데이터를 병합하는 방법은?

먼저, Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 OpenCSV를 프로젝트에 추가합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>5.3</version>
</dependency>

Gradle을 사용하는 경우 build.gradle 파일에 다음 의존성을 추가합니다:

implementation 'com.opencsv:opencsv:5.3'

이제 OpenCSV를 사용하여 CSV 파일을 병합하는 코드를 작성할 수 있습니다. 다음은 예시 코드입니다:

import com.opencsv.CSVReader;
import com.opencsv.CSVWriter;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class CSVMerger {
    public static void main(String[] args) {
        String outputFilePath = "merged.csv";
        List<String[]> data = new ArrayList<>();

        // 병합할 CSV 파일들의 경로
        String[] inputFilePaths = {"file1.csv", "file2.csv"};

        // CSV 파일을 읽어 데이터를 가져옴
        for (String inputFilePath : inputFilePaths) {
            try (CSVReader reader = new CSVReader(new FileReader(inputFilePath))) {
                String[] line;
                while ((line = reader.readNext()) != null) {
                    data.add(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        // CSV 파일을 쓰기 위한 FileWriter 및 CSVWriter 생성
        try (CSVWriter writer = new CSVWriter(new FileWriter(outputFilePath))) {
            // 데이터를 CSV 파일에 쓰기
            for (String[] line : data) {
                writer.writeNext(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("CSV 병합이 완료되었습니다. 파일 경로: " + outputFilePath);
    }
}

이 코드는 file1.csvfile2.csv 파일의 데이터를 가져와서 merged.csv 파일에 병합합니다. String outputFilePath를 원하는 출력 파일 경로로 변경하십시오.

OpenCSV를 사용하면 CSV 파일을 읽고 쓰는 기능을 쉽게 구현할 수 있습니다. 위의 예시 코드에서는 CSVReader를 사용하여 파일을 읽고, CSVWriter를 사용하여 파일을 씁니다. 데이터는 String[]배열로 나타내며, writeNext() 메서드를 사용하여 CSV 파일에 쓸 수 있습니다.

더 자세한 정보를 원하시는 경우 OpenCSV 공식 문서를 참조하십시오.