C# CSV 파일 출력시에 마지막 행에 NULL 문자열이 삽입되는 문제(byte[] 변환 문제)
C# CSV 파일 작성 기능을 코딩중에 일어난 문제입니다.
stream을 byte[]로 변환시킬때 GetBuffer()를 사용할 경우
return stream.GetBuffer();
제일 마지막 행에 NULL 문자열이 추가되어 있다!?
- https://stackoverflow.com/questions/27268994/why-do-i-have-a-million-null-characters-at-the-end-of-my-csv-file?answertab=active#tab-top
조사해 보니 GetBuffer()를 쓰지말고 ToArray()를 사용하라는 답변을 발견했습니다.
이유인 즉슨 GetBuffer()는 사용하지 않는 MemoryStream도 전부 수용시켜버리니 상기와 같은 일이 벌어졌다는군요… ToArray()는 사용하지 않는 MemoryStream는 생략하고 GetBuffer()처럼 배열형태로 돌려주기 때문에 ToArray()를 사용하는 것이 바람직 하다고 합니다.
stream을 byte[]로 변환시킬때 ToArray()를 사용할 경우
return stream.ToArray();
깔끔하게 필요한 내용만 들어 있는것이 확인 되었습니다.