[java] OpenCSV를 사용하여 CSV 파일에서 임의로 특정 행을 복사하는 방법은?
먼저, OpenCSV 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 의존성을 추가합니다:
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.2</version>
</dependency>
CSV 파일에서 특정 행을 복사하는 방법은 다음과 같습니다:
- CSV 파일 읽기
FileReader fileReader = new FileReader("path/to/input.csv"); CSVReader csvReader = new CSVReaderBuilder(fileReader).withSkipLines(0).build(); List<String[]> rows = csvReader.readAll();
- 특정 행 복사
int rowIndexToCopy = 2; // 복사하고자 하는 행의 인덱스 String[] copiedRow = rows.get(rowIndexToCopy).clone();
- 복사한 행 쓰기
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 파일에서 복사할 수 있습니다. 질문이 있으시면 언제든지 물어보세요!