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

OpenCSV는 Java에서 CSV 파일을 읽고 쓰기위한 라이브러리입니다. CSV(쉼표로 구분된 값) 파일은 텍스트 파일로, 데이터를 임의로 변경하여 다른 형태로 저장할 수 있습니다. OpenCSV를 사용하여 CSV 파일에서 데이터를 읽고, 수정한 후 변경된 데이터를 다시 파일로 저장하는 방법을 알아보겠습니다.

먼저, OpenCSV를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음의 종속성을 추가합니다:

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

CSV 파일의 데이터를 읽기 위해 CSVReader 클래스를 사용합니다. 다음은 CSV 파일에서 데이터를 읽어와 출력하는 예제입니다:

import com.opencsv.CSVReader;

import java.io.FileReader;
import java.io.IOException;

public class CSVReaderExample {
    public static void main(String[] args) {
        try {
            CSVReader reader = new CSVReader(new FileReader("path/to/csv/file.csv"));
            String[] line;
            
            while ((line = reader.readNext()) != null) {
                for (String data : line) {
                    System.out.print(data + " ");
                }
                System.out.println();
            }
            
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제는 CSV 파일의 각 라인별로 데이터를 읽어와서 출력합니다.

이제 CSV 파일에서 데이터를 수정하고 변경된 데이터를 파일로 저장해보겠습니다. 데이터를 수정하기 위해선 CSVWriter 클래스를 사용합니다. 다음은 CSV 파일에서 데이터를 읽어온 후, 특정 데이터를 수정하고 변경된 내용을 새로운 파일로 저장하는 예제입니다:

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

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CSVWriterExample {
    public static void main(String[] args) {
        try {
            CSVReader reader = new CSVReader(new FileReader("path/to/csv/file.csv"));
            CSVWriter writer = new CSVWriter(new FileWriter("path/to/new/csv/file.csv"));
            String[] line;
            
            while ((line = reader.readNext()) != null) {
                for (int i = 0; i < line.length; i++) {
                    // 특정 데이터 수정
                    if (line[i].equals("old_value")) {
                        line[i] = "new_value";
                    }
                }
                
                writer.writeNext(line);
            }
            
            reader.close();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제는 CSV 파일을 읽어와서 특정 데이터를 수정한 후, 변경된 데이터를 새로운 파일로 저장합니다.

OpenCSV를 사용하면 CSV 파일에서 데이터를 읽고 수정할 수 있는 간단한 방법을 제공합니다. 원하는 데이터를 수정하기 위해 해당하는 조건과 수정 처리를 추가하면 됩니다.