Handle blank lines in LeafInput
This commit is contained in:
@@ -10,25 +10,25 @@ namespace LeafWeb.Core.Parsers
|
||||
private readonly MemoryStream _memoryStream;
|
||||
protected readonly CsvReader CsvReader;
|
||||
|
||||
protected CsvParserBase(FileSystemInfo csvFile)
|
||||
protected CsvParserBase(FileSystemInfo csvFile, bool ignoreBlankLines)
|
||||
{
|
||||
_reader = OpenCsv(csvFile);
|
||||
CsvReader = InitCsvReader(_reader);
|
||||
CsvReader = InitCsvReader(_reader, ignoreBlankLines);
|
||||
}
|
||||
|
||||
protected CsvParserBase(byte[] fileContents)
|
||||
protected CsvParserBase(byte[] fileContents, bool ignoreBlankLines)
|
||||
{
|
||||
_memoryStream = new MemoryStream(fileContents);
|
||||
_reader = new StreamReader(_memoryStream);
|
||||
|
||||
CsvReader = InitCsvReader(_reader);
|
||||
CsvReader = InitCsvReader(_reader, ignoreBlankLines);
|
||||
}
|
||||
|
||||
private static CsvReader InitCsvReader(StreamReader reader)
|
||||
private static CsvReader InitCsvReader(TextReader reader, bool ignoreBlankLines)
|
||||
{
|
||||
var csvReader = new CsvReader(reader);
|
||||
csvReader.Configuration.HasHeaderRecord = false;
|
||||
csvReader.Configuration.IgnoreBlankLines = false;
|
||||
csvReader.Configuration.IgnoreBlankLines = ignoreBlankLines;
|
||||
csvReader.Configuration.ReadingExceptionOccurred = exception => false;
|
||||
return csvReader;
|
||||
}
|
||||
@@ -53,8 +53,7 @@ namespace LeafWeb.Core.Parsers
|
||||
public void Dispose()
|
||||
{
|
||||
_reader.Dispose();
|
||||
if (_memoryStream != null)
|
||||
_memoryStream.Dispose();
|
||||
}
|
||||
_memoryStream?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user