Apache Commons CSV


CSV 파일은 쉼표로 구분된 값(comma separated value) 을 저장하는 텍스트 파일 형식이며, 주로 엑셀 등에서 데이터를 텍스트 파일로 저장할 때에 사용된다.

아파치 재단에서 자바 프로그래머를 위한 CSV 라이브러리를 내놓았는데, 이 글을 작성하고 있는 현재 시점의 버전은 1.0이다.


CSVParsr 클래스는 생성자 또는 스태틱 메서드인 parse() 를 통해서 생성한다. 파서를 생성한 후 getRecords() 메서드를 사용하면 CSV 파일의 각 행을 나타하는 List 객체를 얻을 수 있다.

CSVFormat 클래스에는 자주 사용되는 몇 가지 형식들이 사전 정의 되어 있으며, 입맛에 맞게 변경할 수 있다. parser() 메서드를 통해서 CSVParser를 얻을 수도 있다.

CSVRecord 클래스는 CSV 파일의 각 행에 해당하는 정보를 담고 있다. get() 메서드를 통해서 셀의 데이터를 문자열 형식으로 얻을 수 있다.

CSVPrinter 클래스는 CSV 형식으로 데이터를 출력할 때 사용된다.



파서의 생성

Reader (또는 InputStream) 객체을 통해서 파서를 생성하는 방법.

CSVParser parser = new CSVParser( new InputStreamReader(inputStream, "UTF-8"), CSVFormat.EXCEL );
List<CSVRecord> records = parser.getRecords();
...
parser.close();


File 객체를 통해서 파서를 생성하는 방법.

CSVParser parser = CSVParser.parse(file, Charset.forName("UTF-8"), CSVFormat.EXCEL.withHeader());
List<CSVRecord> records = parser.getRecords();
...
parser.close();

중요한 팁! 
withHeader() 메서드를 사용하면 CSV 파일의 첫 줄에 있는 헤더와 매핑된 데이터를 얻을 수 있다.



보다 상세한 내용은 


이 글은 Evernote에서 작성되었습니다. Evernote는 하나의 업무 공간입니다. Evernote를 다운로드하세요.

이 블로그의 인기 게시물

좌표 변환: 회전 이동

Unmappable character for encoding MS949

글롭 (glob) - 파일 패턴 일치 여부