Java에서 CSV 파일을 손쉽게 읽고 쓰려면 OpenCSV라는 파서(parser) 라이브러리를 사용하는 것이 가장 일반적인 방법입니다. 먼저 프로젝트에 OpenCSV를 설치해야 하며, Maven 프로젝트라면 pom.xml 파일에 의존성(dependency)만 추가하면 됩니다.
1. OpenCSV 의존성 추가
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.9</version>
</dependency>2. 예제 코드
아래 코드는 CSV 파일의 데이터를 한 줄씩 읽어 화면에 출력하는 기본적인 예제입니다.
import java.io.FileReader;
import java.io.*;
import com.opencsv.CSVReader;
public class Demo {
public static void readDataLineByLine(String file) {
try {
FileReader my_filereader = new FileReader(file);
CSVReader csvReader = new CSVReader(my_filereader);
String[] nextRecord;
while ((nextRecord = csvReader.readNext()) != null) {
for (String cell : nextRecord) {
System.out.print(cell + "\t");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}3. 실행 결과
CSV 파일의 데이터가 한 줄씩 탭으로 구분되어 순서대로 출력됩니다.
4. 코드 설명
Demo 클래스에는 파일 경로를 매개변수로 받는 readDataLineByLine 함수가 정의되어 있습니다. 이 함수의 동작 과정은 다음과 같습니다.
- 먼저
FileReader인스턴스를 생성해 대상 CSV 파일을 엽니다. - 이어서
CSVReader인스턴스를 생성하여 파일 내부의 요소들을 읽어들입니다. readNext()메서드를 통해 한 줄씩 데이터를 읽고, 각 줄의 셀(cell) 값을 탭으로 구분해 화면에 출력합니다.- 파일의 마지막 줄까지 모두 읽으면 반복문이 종료됩니다.
이 전체 로직은 try 블록 안에서 실행되며, 파일을 찾지 못하는 등의 예외 상황이 발생하면 catch 블록이 이를 처리해 프로그램이 비정상적으로 종료되지 않도록 합니다.