2017년 4월 24일 월요일

Reflection을 이용해서 CSV Writer를 만들어보자

# CSV Writer 만들기

csv로 저장할 model의 field는 얼마든지 바뀔 수 있으므로 reflection을 사용해보도록 하자.
`getClass().getDeclaredFields()`이면 model class에 선언한 field들을 가져올 수 있다.


## BOM(Byte Order Marker)?

해당 문서가 어떤 Charset으로 되어 있는지 판별하기 위해 사용되는 Marker이다.
몇가지 타입이 있는데 자세한건 검색해보도록 하자.

## java BOM 지원

java reader들은 BOM를 지원하지 않기 때문에,
쓰기 할때는 BOM을 추가, 읽을 때는 BOM을 삭제해줘야 한다.
BOM을 반영해주지 않으면 charset 때문에 읽기 곤란한 문서와 만나게 된다.