opencsv 파일로 CSV 파일 읽기

2664 단어 excel편집기주제
먼저 csv 파일이 어떻게 생겼는지 알아야 합니다.
  • excel로 열면 표가 돼요. 디테일이 안 보여요
  • 다른 간단하고 거친 편집기, 예를 들면 Notepad++를 추천합니다

  • csv 파일의 내용은 다음과 같습니다.
    csv 파일은 기본적으로 쉼표로 열을 구분합니다.
    기초적인 이해가 있으면 주제에 들어가서 Opencsv로 csv 파일을 읽습니다
  • 읽기: CSVReader
  • 쓰기: CSVWriter

  • 다음은 Opencsv가 우리에게 제공하는 방법 (여기에서 가장 자주 사용하는 몇 가지만 소개합니다) 을 살펴보겠습니다.
    읽기: CSVReader
    구조기에는 다음과 같은 세 가지 매개변수가 있습니다.
  • reader: 파일을 읽는 흐름 대상입니다. 주로 BufferedReader, InputStreamReader 등이 있습니다
  • separator: 앞에서 언급한 구분자를 정의하는 데 사용되며, 기본값은 쉼표'CSVWriter.DEFAULT_SEPARATOR'입니다. 각 열을 구분하는 데 사용됩니다
  • quotechar: 각 열의 인용부호를 정의하는 데 사용되며, 때때로 csv 파일에서 인용부호나 다른 기호로 열을 일으킬 수 있습니다. 예를 들어 한 줄은'1','2','3'일 수 있습니다. 인용부호가 없는 문자를 읽으려면 인자를'CSVWriter.NO_QUOTE_CHARACTER'로 설정할 수 있습니다

  • 쉼표를 구분자로 하고 읽을 때 따옴표를 무시하는 CSVReader를 정의합니다.
    CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(csvFile), "GBK"), CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);
    위 표의 두 번째 방법은 상대적으로 다른 세 가지보다 많이 쓰지 않으면close()는 더 이상 말하지 않는다.
  • readAll(): 모두 읽기
  • readNext(): 한 줄 읽기

  • 주의: 만약에 먼저 readNext를 읽고, 다시 readAll을 읽으면, readAll도 readNext 이후의 줄에서 시작한다. 즉, readNext를 읽은 후에 다시 읽지 않는다.
    쓰기: CSVWriter
    구조기와 방법은 모두 비교적 이해하기 쉬우며,reader와 대응하여 이해할 수 있으니, 여기에는 더 이상 말할 필요가 없다.
    다음은 간단한 실례입니다.
    public class OpenCSV {    public static void main(String[] args) throws Exception {
            OpenCSV oc = new OpenCSV();
            oc.CSVReadAll();
    
            oc.CSVWriter();
        }    public String dir = System.getProperty("user.dir") + "/testMaven";    public void CSVReadAll() throws Exception {
            File csv = new File(dir + "/file", "readerTest.csv");
    
            CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(csv), "GBK"), ',');
            String [] header = reader.readNext();   // readnext stream 
            for (String s : header) {
                System.out.print(s + ",");
            }
            System.out.println("");
    
            List list = reader.readAll(); // 
            System.out.println(list.get(0)[0]);
            System.out.println("");
        }    public void CSVWriter() throws Exception{
            File csv = new File(dir + "/file", "writerTest.csv");        if (!csv.exists()) csv.createNewFile();
    
            List list = new ArrayList<>();
            String s1 = "123";        for (int i = 0; i  
      


    좋은 웹페이지 즐겨찾기