[java] OpenCSV를 사용하여 CSV 파일에서 임의로 특정 행을 복사하는 방법은?

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

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

CSV 파일에서 특정 행을 복사하는 방법은 다음과 같습니다:

  1. CSV 파일 읽기
    FileReader fileReader = new FileReader("path/to/input.csv");
    CSVReader csvReader = new CSVReaderBuilder(fileReader).withSkipLines(0).build();
    List<String[]> rows = csvReader.readAll();
    
  2. 특정 행 복사
    int rowIndexToCopy = 2; // 복사하고자 하는 행의 인덱스
    String[] copiedRow = rows.get(rowIndexToCopy).clone();
    
  3. 복사한 행 쓰기
    FileWriter fileWriter = new FileWriter("path/to/output.csv");
    CSVWriter csvWriter = new CSVWriter(fileWriter);
    csvWriter.writeNext(copiedRow);
    csvWriter.flush();
    

위의 코드에서 path/to/input.csv는 원본 CSV 파일의 경로를, path/to/output.csv는 복사한 행을 쓸 CSV 파일의 경로를 나타냅니다. rowIndexToCopy는 복사하고자 하는 행의 인덱스를 지정합니다.

이렇게하면 OpenCSV를 사용하여 특정 행을 CSV 파일에서 복사할 수 있습니다. 질문이 있으시면 언제든지 물어보세요!