자바 CSV 파일 읽 기와 쓰기 실현

6102 단어 자바 기반
문제 장면, 회사 수 요 는 이미지 시트 데 이 터 를 분석 (크기, 픽 셀, 길이, 너비) 하고 CSV 형식 으로 조작 해 야 한다. 1. Maven 조작 준비

    <dependency>
      <groupId>net.sourceforge.javacsvgroupId>
      <artifactId>javacsvartifactId>
      <version>2.0version>
    dependency>

API 설명 문서:http://javacsv.sourceforge.net/ JavaCSV 홈 페이지:https://sourceforge.net/projects/javacsv/ javacsv - 2.1. jar 다운로드 클릭
2. 코드 전시
package com.dongshuo;

import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;

import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

/**
 * @author dongshuo
 * @data 2018/5/31 17:51
 * @Description csv       
 */
public class CSVUtil {
    //static String readPath = "D:/image/p_sku_pop_relation.csv";

    /**
     *        
     *
     * @param readPath
     * @return
     */
    public static List readCSV(String readPath) {
        String filePath = readPath;
        List listData = new ArrayList<>();
        try {
            filePath = readPath;
            CsvReader csvReader = new CsvReader(filePath);
            //    
            boolean re = csvReader.readHeaders();
            while (csvReader.readRecord()) {
                String rawRecord = csvReader.getRawRecord();
                listData.add(rawRecord);
            }
            return listData;
        } catch (FileNotFoundException e) {
            throw new RuntimeException("     ");
        } catch (IOException e) {
            throw new RuntimeException(e.getMessage());
        }

    }

    /**
     *      
     * @param writePath
     * @param header
     */
    public static void writeCSV(String writePath, String[] header) {
        String filePath = writePath;
        try {
            CsvWriter csvWriter = new CsvWriter(writePath, ',', Charset.forName("UTF-8"));
            //String [] header = {"SkuId","SsuId","    ","  (bit)","  ","  "};
            csvWriter.writeRecord(header);
            csvWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     *           
     * @param fileName
     * @param content
     */
    public static void writeContent(String fileName, String content) {
        FileWriter writer = null;
        try {
            //         ,           true          
            writer = new FileWriter(fileName, true);
            writer.write(content + "\r
"
); } catch (IOException e) { e.printStackTrace(); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } } } }

나 는 문 서 를 뒤 져 보 았 다. javacsv 는 추가 쓰 기 를 지원 하지 않 기 때문에 사용 한 출력 흐름 은 추가 쓰 기 를 완성 했다. 속 도 를 높이 기 위해 다 중 스 레 드 를 사용 하여 동시 실행 했다.

좋은 웹페이지 즐겨찾기