Java에서 CSV 구문 분석

Rupam Yadav 2024년2월15일
  1. Java에서Scanner를 사용하여 CSV 구문 분석
  2. Java에서String.split()을 사용하여 CSV 구문 분석
  3. Java에서OpenCSV를 사용하여 CSV 구문 분석
Java에서 CSV 구문 분석

Java에서 CSV 구문 분석 주제를 다룰 것입니다. Java에서 아래 샘플 CSV의 Java CSV 구문 분석을 수행하는 다양한 방법을 살펴 보겠습니다.

Java CSV 샘플

Java에서Scanner를 사용하여 CSV 구문 분석

CSV 파일을 구문 분석하는 첫 번째이자 가장 고전적인 방법은 Java의Scanner 클래스를 사용하는 것입니다. 예제에서는File을 사용하여 파일을 가져온 다음Scanner로 읽습니다.

이 예에서 주목해야 할 가장 중요한 점은 CSV에서 사용되는 구분 기호를 알아야한다는 것입니다. 원래 CSV의 쉼표를 구분 기호로 사용합니다. 그래서 코드에서 구분자로,를 지정할 수 있습니다.

import java.io.*;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    File getCSVFiles = new File("/test/example.csv");
    Scanner sc = new Scanner(getCSVFiles);
    sc.useDelimiter(",");
    while (sc.hasNext()) {
      System.out.print(sc.next() + " | ");
    }
    sc.close();
  }
}

출력:

Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO | 

Java에서String.split()을 사용하여 CSV 구문 분석

다음 예제에서는String 클래스와 함께 작동하는split()메서드를 사용합니다. BufferedReader를 사용하여 CSV 파일을 읽고null에 도달 할 때까지 모든 행을 반복하여 읽을 수 있습니다.

import java.io.*;
import java.util.Scanner;

public class Main {
  public static void main(String[] args) throws FileNotFoundException {
    String line = "";
    final String delimiter = ",";
    try {
      String filePath = "/test/example.csv";
      FileReader fileReader = new FileReader(filePath);

      BufferedReader reader = new BufferedReader(fileReader);
      while ((line = reader.readLine()) != null) // loops through every line until null found
      {
        String[] token = line.split(delimiter); // separate every token by comma
        System.out.println(token[0] + " | " + token[1] + " | " + token[2] + " | " + token[3]);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

출력:

Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO

Java에서OpenCSV를 사용하여 CSV 구문 분석

여러 라이브러리가 Java에서 CSV를 구문 분석하는 데 도움이 될 수 있습니다. 그중 하나가 OpenCSV입니다. 아래 예에서CSVReader()는 CSV 파일과 함께fileReader를 가져 와서 문자열 배열을 반환합니다.

import com.opencsv.CSVReader;
import java.io.*;
import java.util.List;
import java.util.Scanner;
import java.util.Vector;

public class Main {
  public static void main(String[] args) throws Exception {
    try {
      String filePath = "/test/example.csv";
      FileReader fileReader = new FileReader(filePath);

      CSVReader openCSVReader = new CSVReader(fileReader);
      String[] record;

      while ((record = openCSVReader.readNext()) != null) {
        for (String token : record) {
          System.out.print(token + "\t");
        }
        System.out.println();
      }

    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

출력:

Id	UserName	Age	Job	
1	John Doe	24	Developer	
2	Alex Johnson	43	Project Manager	
3	Mike Stuart	26	Designer	
4	Tom Sean	31	CEO	
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java CSV