[java] OpenCSV를 사용하여 CSV 파일의 데이터 유효성을 임의로 검사하는 방법은?

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

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

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다:

implementation 'com.opencsv:opencsv:5.2'

다음으로, CSV 파일을 읽어서 데이터를 검사하는 예제 코드를 작성해 봅시다. 아래 예제 코드는 주어진 CSV 파일의 각 행에서 첫 번째 열이 숫자로 구성되어 있는지 확인합니다:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.io.IOException;

public class CSVDataValidation {

    public static void main(String[] args) {
        String csvFilePath = "/path/to/your/csv/file.csv";

        try (CSVReader reader = new CSVReader(new FileReader(csvFilePath))) {
            String[] line;
            int lineNumber = 1;
            while ((line = reader.readNext()) != null) {
                String firstColumnValue = line[0];
                if (!isNumeric(firstColumnValue)) {
                    System.out.println("Invalid data found at line " + lineNumber);
                }
                lineNumber++;
            }
        } catch (IOException e) {
            System.out.println("Error reading CSV file: " + e.getMessage());
        }
    }

    private static boolean isNumeric(String str) {
        try {
            Double.parseDouble(str);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }
}

위의 코드에서 csvFilePath 변수에 해당하는 CSV 파일의 경로를 설정한 다음, CSVReader를 사용하여 파일을 읽습니다. 각 행에서 첫 번째 열의 값을 가져와 isNumeric 함수를 사용하여 숫자로 구성되어 있는지 확인합니다. 숫자가 아닌 경우 해당 행의 라인 번호를 출력합니다.

이것은 OpenCSV를 사용하여 CSV 파일의 데이터 유효성을 검사하는 간단한 예시입니다. 검사하고자 하는 조건에 따라 코드를 수정하여 사용할 수 있습니다. OpenCSV의 다른 기능 및 사용법에 대해서는 공식 문서를 참조하시기 바랍니다.