相关疑难解决方法(0)

解析大型csv文件时,FileHelpers会抛出OutOfMemoryException

我正在尝试使用FileHelpers(http://www.filehelpers.net/)解析一个非常大的csv文件.该文件为1GB压缩文件,解压缩约20GB.

        string fileName = @"c:\myfile.csv.gz";
        using (var fileStream = File.OpenRead(fileName))
        {
            using (GZipStream gzipStream = new GZipStream(fileStream, CompressionMode.Decompress, false))
            {
                using (TextReader textReader = new StreamReader(gzipStream))
                {
                    var engine = new FileHelperEngine<CSVItem>();
                    CSVItem[] items = engine.ReadStream(textReader);                        
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

FileHelpers然后抛出OutOfMemoryException.

测试失败:抛出了类型'System.OutOfMemoryException'的异常.System.OutOfMemoryException:抛出了类型'System.OutOfMemoryException'的异常.System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)在System.Text.StringBuilder.Append(Char值,Int32 repeatCount)的System.Text.StringBuilder.Append(Char值)处于FileHelpers.StringHelper.ExtractQuotedString(LineInfo line,Char在FileHelpers.FileHelperEngine的FileHelpers.RecordInfo.StringToRecord(LineInfo行)的FileHelpers.FieldBase.ExtractValue(LineInfo行)的FileHelpers.DelimitedField.ExtractFieldString(LineInfo行)处的quoteChar,Boolean allowMultiline)1.ReadStream(TextReader reader, Int32 maxRecords, DataTable dt) at FileHelpers.FileHelperEngine.ReadStream(TextReader reader)

是否可以使用FileHelpers解析这么大的文件?如果没有,任何人都可以推荐一种解析文件的方法吗?谢谢.

c# csv filehelpers

4
推荐指数
1
解决办法
4550
查看次数

标签 统计

c# ×1

csv ×1

filehelpers ×1