Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 CSV 파일 다루기 – OpenCSV 라이브러리 활용 가이드

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 블록이 이를 처리해 프로그램이 비정상적으로 종료되지 않도록 합니다.