Search

FastCSV 분석

OpenCSV와 다르게 Custom Buffer를 사용하여 버퍼에서 직접 파싱을 이어감. fastCSV Writer로직과 유사하게 Custom Buffer를 이용하는 점에서 로직이 좀 복잡하게 돌아감.
개략적인 흐름
1.
버퍼의 크기만큼 Reader에서 read함
2.
해당 버퍼가 가득찰 때, Callback을 이용하여 로직 파싱이 이루어짐.
3.
Callback내에서 파싱이 끝난 데이터를 Record로 취합시킴.
특이 사항
csv에서 특정 Record의 field수가 실수 또는 어떤 원인에 의하여 짧거나, 길 수 있다. 이점은 고려하지 않는다. 초기에 고려해야 한다고 생각했지만 할 수 없다. 이유는 특정 길이를 알 수 없을 뿐더러 반환은 List<String[]>형태가 된다. 차라리 사용자가 이를 파싱하기 편한 형태로 제공해주는 편이 더 좋다.