안녕하세요.
위 메모장에서 보이는 검은색 네모 블럭은 "\n"에 해당하는 값으로, 프로그래밍에서는 엔터 값으로 인식됩니다.
또한, "\n"는 글꼴에 따라, 네모 블럭으로 보이기도 하지만, 블럭이 보이지 않을 때도 있습니다.
예를 들어, 우리가 흔히 사용하는 "돋움"의 경우, 네모 블럭으로 보이지만, "Consolas"의 경우에는 보이지 않습니다.
그리고, 실제 네모 블럭이 있더라도 Excel에서도 정상적으로 parsing이 됩니다.
어떤 용도로 생성된 csv 파일을 사용하시는 지는 모르겠지만, 네모 블럭이 있더라도, 데이터를 처리하는데는 아무런 문제가 없습니다.
하지만, 정말로 이것을 꼭 수정해야 한다면, CSVWriter 클래스가 기본적으로 행을 구별하기 위해 사용하는 "\n"값을 "\r\n"값으로 변경해야 합니다.
(음... 잘 안 가르쳐 주는 건데...) 생성자를 아래와 같이 바꾸세요....
CSVWriter.RFC4180_LINE_END를 마지막 인자에 추가했구요...CSVWriter.RFC4180_LINE_END는 상수값으로 "\r\n"으로 지정되어 있습니다.
//CSVWriter writer = new CSVWriter(new FileWriter(csv), CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER);
CSVWriter writer = new CSVWriter(new FileWriter(csv), CSVWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER, CSVWriter.RFC4180_LINE_END);