2016-09-09 4 views
0

우리는 CsvReader를 사용하여 수백 개의 CSV 파일에서 데이터를 추출합니다. 때때로 빈 파일이 제공됩니다. Read() 또는 ReadHeader()으로 전화하면 예외가 발생합니다. 나는 ReadHeader()이 단지 false을 돌려 주어야한다고 생각한다. 그러나 내가 뭔가를 놓치고 있는지 궁금해하고 있었다.CsvHelper의 빈 파일 처리

정상적으로 처리 할 수있는 방법이 있습니까? 예외가 발생하지 않습니다.

답변

0

here과 같이 예외는 No header record was found입니다. 파일을 처리하기 전에 Stream.Length을 확인하고 0 인 경우 처리하지 마십시오.

+0

Azure Data Lake는 'Stream.Length'를 사용할 수 없습니다. 'NotSupportedException'이됩니다. 다만, ReadHeader가 boolean를 돌려 주었을 경우, false를 돌려주는 것이 아니라, 예외를 슬로우하는 것이 이상합니다. –

+0

그건 불행한 일입니다. 파일에 머리말과 개행 문자 만 있으면 어떻게 될까요? 헤더가 존재하더라도'Read()'와'ReadHeader()'까지 던져 버린다. –