[java] OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 변경하는 방법은?

OpenCSV는 Java 기반의 오픈 소스 라이브러리로, CSV (Comma-Separated Values) 파일의 데이터를 읽고 쓰는 기능을 제공합니다. CSV 파일의 데이터를 임의로 변경하기 위해 OpenCSV를 사용하는 방법에 대해 알아보겠습니다.

  1. OpenCSV 라이브러리 추가 먼저, OpenCSV를 프로젝트에 추가해야 합니다. Maven이나 Gradle 같은 의존성 관리 도구를 사용하는 경우, build 파일에 OpenCSV 라이브러리를 추가하세요. 예를 들어 Maven의 경우, pom.xml 파일에 다음을 추가할 수 있습니다.

    <dependencies>
        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>5.5.1</version>
        </dependency>
    </dependencies>
    
  2. CSV 파일 읽기 CSV 파일의 데이터를 읽기 위해 OpenCSV의 CSVReader 클래스를 사용합니다. 다음은 CSV 파일을 읽고 각 라인의 데이터를 출력하는 예제입니다.

    import com.opencsv.CSVReader;
    import java.io.FileReader;
    
    public class CSVReaderExample {
        public static void main(String[] args) {
            try {
                CSVReader reader = new CSVReader(new FileReader("파일경로.csv"));
                String[] line;
                while ((line = reader.readNext()) != null) {
                    for (String data : line) {
                        System.out.println(data);
                    }
                }
                reader.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    파일경로.csv 부분을 수정하여 해당하는 파일 경로로 변경하세요. 위 예제는 각 라인의 데이터를 출력하도록 되어 있습니다.

  3. CSV 파일 수정 CSV 파일의 데이터를 임의로 변경하기 위해 OpenCSV의 CSVWriter 클래스를 사용합니다. 다음은 CSV 파일에서 특정 데이터를 변경하는 예제입니다.

    import com.opencsv.CSVReader;
    import com.opencsv.CSVWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class CSVWriterExample {
        public static void main(String[] args) {
            try {
                CSVReader reader = new CSVReader(new FileReader("파일경로.csv"));
                List<String[]> lines = reader.readAll();
                reader.close();
    
                for (String[] line : lines) {
                    line[2] = "변경된 데이터";
                }
    
                CSVWriter writer = new CSVWriter(new FileWriter("파일경로.csv"));
                writer.writeAll(lines);
                writer.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    위 예제는 파일을 읽은 후에 lines라는 List<String[]>에 데이터를 저장하고, 특정 데이터를 변경한 후 다시 파일에 씁니다. line[2] = "변경된 데이터"; 부분에서 원하는 데이터를 수정할 수 있습니다.

위의 예제를 참고하여 OpenCSV를 사용하여 CSV 파일의 데이터를 임의로 변경하는 방법을 알아보았습니다. OpenCSV는 간편한 사용법과 다양한 기능을 제공하므로, CSV 파일 처리에 유용하게 활용할 수 있습니다.

참고 링크: