gpt4 book ai didi

c# - 检测文件的每一行如何以 C# 结尾

转载 作者:行者123 更新时间:2023-12-05 04:54:11 27 4
gpt4 key购买 nike

是否可以循环文件中的每一行并检查它是如何结束的(LF/CRLF):

using(StreamReader sr = new StreamReader("TestFile.txt")) 
{
string line;
while ((line = sr.ReadLine()) != null)
{
if (line.contain("\r\n")
{
Console.WriteLine("CRLF");
}
else if (line.contain("\n")
{
Console.WriteLine("LF");
}
}
}

最佳答案

您必须使用Read 来获取每个字符并检查行终止符。如果您看到回车,您还必须保持跟踪,这样当您看到换行符时,您就会知道您是在处理 CRLF 还是只是 LF。并且您必须在循环完成后检查尾随 CR。

using(StreamReader sr = new StreamReader("TestFile.txt")) 
{
bool returnSeen = false;
while (sr.Peek() >= 0)
{
char c = sr.Read();
if (c == '\n')
{
Console.WriteLine(returnSeen ? "CRLF" : "LF");
}
else if(returnSeen)
{
Console.WriteLine("CR");
}

returnSeen = c == '\r';
}

if(returnSeen) Console.WriteLine("CR");
}

请注意,您可以根据读取的字符构造行,并且可以将其更改为使用读取到缓冲区的 Read 的重载,并在结果中搜索行终止符以获得更好的性能。

关于c# - 检测文件的每一行如何以 C# 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65848130/

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