gpt4 book ai didi

c# - 更改 FileHelpers EOL 字符

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:49 27 4
gpt4 key购买 nike

我正在尝试将 10GB 的 .dat 文件解析为 .NET 中可识别的内容。列分隔符是“~”,EOL 是“++EOL++”。我知道如何处理定界符,但是当文件中没有实际的换行符时,我找不到一种简单的方法来处理“++EOL++”。这可以通过 FileHelpers 中的选项来处理,还是我必须编写一些自定义的东西?

最佳答案

默认情况下,No FileHelpers 不支持具有异常行尾字符序列的文件。

预解析文件并替换 EOL 序列可能是最简单的方法。但是,它是一个可扩展的库,因此您可以创建自己的 DataStorage subclass .你基本上必须重写

public override object[] ExtractRecords()
{
using (MyStreamReader reader = new MyStreamReader(fileName, base.mEncoding, true, 102400))
{
T[] localArray = this.ReadStream(reader, maxRecords);
reader.Close();
return localArray;
}
}

然后创建一个新类 MyStreamReader,它与(不幸的是密封)InternalStreamReader 除了包含 EOL 的 ReadLine 相同代码

switch (ch)
{
case '\n':
case '\r':

etc...
}

(顺便说一句,我指的是 FileHelpers 2.9.9 的源代码。版本 2.0.0 似乎使用了 System.IO.StreamReader,因此您可以直接继承它而不是复制它InternalStreamReader.

关于c# - 更改 FileHelpers EOL 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com