确定文本文件中使用的行结尾

Moo*_*Moo 9 c# cross-platform newline text-files

什么是C#中最好的方法来确定文本文件(Unix,Windows,Mac)中使用的行结尾?

Kon*_*lph 13

请注意,文本文件可能具有不一致的行结尾.你的程序不应该扼杀它.使用ReadLineStreamReader(以及类似的方法)会照顾自动终止任何可能的线.

如果手动从文件中读取行,请确保接受任何行结尾,即使不一致.在实践中,使用以下算法非常简单:

  • 向前扫描,直到找到CR或LF.
  • 如果您阅读CR,请查看下一个字符;
  • 如果下一个字符是LF,则使用它(否则,将其放回).