opencsv 파일 로 CSV 파일 읽 기

본 고의 실례 는 여러분 에 게 opencsv 파일 읽 기와 쓰기 CSV 파일 의 구체 적 인 코드 를 공 유 했 습 니 다.여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
먼저 csv 파일 이 어떻게 생 겼 는 지 알 수 있 습 니 다.
엑셀 로 열 면 표 가 됩 니 다.자세 한 내용 은 보이 지 않 습 니 다.Notepad+같은 간단 하고 거 친 편집 기 를 추천 합 니 다.
csv 파일 내용 은 다음 과 같 습 니 다.
clipboard
csv 파일 은 기본적으로 쉼표 로 열 을 구분 합 니 다.
기본 적 인 이해 가 있 으 면 주제 에 들 어가 Opencsv 로 csv 파일 을 읽 고 씁 니 다.
읽 기:CSVReaderCSV Writer다음은 opencsv 가 우리 에 게 제공 하 는 방법 을 살 펴 보 겠 습 니 다.
읽 기:CSVReader

구조 기 에 세 개의 인자 가 포함 되 어 있 습 니 다.
  • reader:파일 을 읽 는 스 트림 대상 입 니 다.BufferedReader,InputStreamReader 등 이 자주 사 용 됩 니 다
  • separator:앞에서 언급 한 구분자 정의 에 사용 되 며,기본 값 은 쉼표"CSV Writer.DEPAULT 입 니 다.SEPARATOR ”각 열 을 구분 하 는 데 사용 하기;
  • quotechar:각 열의 따옴표 를 정의 하 는 데 사 용 됩 니 다.가끔 csv 파일 에서 따옴표 나 다른 기호 로 열 을 가 져 옵 니 다.예 를 들 어 한 줄 은'1','2','3'일 수 있 습 니 다.읽 고 싶 은 문자 에 따옴표 가 포함 되 지 않 으 면 인 자 를'CSV Writer.NO'로 설정 할 수 있 습 니 다.QUOTE_CHARACTER "
  • 쉼표 를 구분자 로 정의 하고 따옴표 를 읽 을 때 무시 하 는 CSVReader 는 다음 과 같 습 니 다.
    CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(csvFile), "GBK"), CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);
    clipboard[2]
    위의 표 에서 두 번 째 방법 은 상대 적 으로 다른 세 가지 가 많이 쓰 는 것 보다 못 하 다.close()는 더 이상 말 하지 않 는 다.
    readAll():모두 읽 기readNext():한 줄 읽 기주의 하 세 요:먼저 readNext 를 읽 고,다시 readAll 을 읽 으 면 readAll 도 readNext 이후 의 그 줄 에서 시 작 됩 니 다.즉,readNext 를 읽 은 후에 다시 읽 지 않 습 니 다.
    쓰기:CSV Writer
    clipboard[3]

    구조 기와 방법 은 모두 이해 하기 쉬 우 므 로 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<String[]> 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<String[]> list = new ArrayList<>();
      String s1 = "123";
      for (int i = 0; i < 22; i++) {
       String[] ss = {String.valueOf(i),String.valueOf(i),String.valueOf(i),String.valueOf(i)};
       list.add(ss);
      }
    
      CSVWriter writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(csv),"GBK"),CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER);
      writer.writeNext(s1, s1, s1, s1);
      writer.writeNext("#","#","#","#");
      writer.writeAll(list);
      writer.flush();
      writer.close();
     }
    }
    
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기