태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

CSV 파일을 파싱해서 처리해야 하는 경우 선택가능한 라이브러리가 여러개 있는게 가장 많이 사용하시는게 3가지 정도 있는것 같습니다. 


1. commons-csv : apache commons의 csv 라이브러리  


http://commons.apache.org/proper/commons-csv/


2. openCSV  :  http://opencsv.sourceforge.net


3. superCSV :  http://supercsv.sourceforge.net/



그중에 CSV파일을 Bean 오브젝트로 간단하게 변환하는 것을 제공하는 것은  OpenCSV입니다. 


아래 같이 사용하시면 되는데요.



    public List getCsvObjectList(File file, Class className) throws IOException {

        InputStreamReader in = new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8"));

        CSVReader reader = new CSVReader(in);


        HeaderColumnNameMappingStrategy start = new HeaderColumnNameMappingStrategy();


        start.setType(className);


        CsvToBean csv = new CsvToBean();

        List list = csv.parse(start, reader);

        reader.close();

        return list;

    }



javadoc을 참조하시면 총 3가지의 MappingStrategy를 제공하고 있습니다.


ColumnPositionMappingStrategy 

HeaderColumnNameMappingStrategy 

HeaderColumnNameTranslateMappingStrategy



ColumnPositionMappingStrategy :  이건 컬럼 순서대로 읽어서 수동으로 처리를 해줘야 하는 방식.


HeaderColumnNameMappingStrategy  : CSV 한줄을 bean으로 변환하는 방식 


HeaderColumnNameTranslateMappingStrategy  : CSV의 특정 컬럼만을 뽑아내서 bean으로 매핑하는 방식 



이렇게 지원을 합니다.


직접해보시면 아주 간단합니다. 





Posted by Breeze.Kang

댓글을 달아 주세요