[java] OpenCSV를 사용하여 CSV 파일에서 데이터를 삭제하는 방법은?

OpenCSV는 Java에서 CSV 파일을 다루기 위한 라이브러리로 유용하게 사용됩니다. CSV 파일에서 데이터를 삭제하기 위해서는 몇 가지 단계를 따를 수 있습니다.

  1. CSV 파일을 읽어오기 위한 CSVReader 객체를 생성합니다. 다음과 같은 코드를 사용하여 CSV 파일을 열 수 있습니다.
CSVReader reader = new CSVReader(new FileReader("파일경로"));
  1. 삭제할 행을 식별합니다. 어떤 데이터를 삭제할지 행을 식별하고, 그 행의 인덱스를 저장합니다.

  2. 삭제할 행을 제외한 다른 행들을 담을 ArrayList를 생성합니다.

ArrayList<String[]> updatedRows = new ArrayList<>();
  1. CSV 파일을 읽으며 삭제할 행을 제외한 모든 행들을 ArrayList에 추가합니다.
String[] nextRow;
while ((nextRow = reader.readNext()) != null) {
    // 삭제할 행의 인덱스를 확인 후, 삭제하지 않을 경우에만 추가한다.
    if( /* 삭제할 행의 인덱스가 아닌 경우 */ ) {
        updatedRows.add(nextRow);
    }
}
  1. CSV 파일을 닫고, 삭제된 데이터가 포함되지 않은 ArrayList로부터 CSVWriter를 사용하여 새로운 CSV 파일을 작성합니다.
reader.close();

CSVWriter writer = new CSVWriter(new FileWriter("새로운파일경로"));

// ArrayList에 있는 각 행을 CSV 파일에 추가합니다.
for (String[] row : updatedRows) {
    writer.writeNext(row);
}

writer.close();

위의 단계를 따라가면 OpenCSV를 사용하여 CSV 파일에서 데이터를 삭제할 수 있습니다. 이 코드는 선택한 행을 제외한 나머지 행들을 새로운 CSV 파일에 쓰는 방식으로 동작합니다.

자세한 내용은 OpenCSV 문서를 참고하시기 바랍니다.

참고 문서: