gpt4 book ai didi

c# - 我可以使 StreamReader "believe"EOL 现在是 "###"而不是 "\n"吗?

转载 作者:行者123 更新时间:2023-11-30 17:21:31 25 4
gpt4 key购买 nike

我有一个文件,我需要逐行阅读它。每行以“###”结尾,而不是常规的行尾字符 (\n)。

有什么方法可以更改 streamReader,以便当我使用 ReadLine() 时它会一直读取直到看到“###”?如果没有,是否有其他方法可以做到这一点,或者我应该为此目的实现一个新类吗?

最佳答案

不,您不能使用 StreamReader 执行此操作。 StreamReader 类被硬编码为识别 \r\n 字符,并且不可配置。您可以使用 .NET Reflector 看到这一点:

char ch = this.charBuffer[charPos];
switch (ch)
{
case '\r':
case '\n':
string str;
if (builder != null)
// ...

如果您的文件不是太大,您可以将整个文件读入内存,然后在 ### 处拆分。如果您需要流式传输行为,那么您可以自己编写类似于 ReadLine 的内容,但具有您想要的行为。

关于c# - 我可以使 StreamReader "believe"EOL 现在是 "###"而不是 "\n"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353179/

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