在C#中将文件中的行结束符从DOS转换为UNIX格式

我想将文件中的行尾从DOS格式转换为C#中的Unix格式。

Unix系统使用换行符(LF)作为行分隔符。 唯一值得注意的例外是Microsoft Windows,它使用回车符跟随换行符(CRLF)。

如何使用C#将文件中的行结尾从DOS更改为Unix格式。 需要一些转换这个指导。

这里是你的答案将文件从Dos转换到Unix和后面 :

 private void Dos2Unix(string fileName) { const byte CR = 0x0D; const byte LF = 0x0A; byte[] data = File.ReadAllBytes(fileName); using (FileStream fileStream = File.OpenWrite(fileName)) { BinaryWriter bw = new BinaryWriter(fileStream); int position = 0; int index = 0; do { index = Array.IndexOf<byte>(data, CR, position); if ((index >= 0) && (data[index + 1] == LF)) { // Write before the CR bw.Write(data, position, index - position); // from LF position = index + 1; } } while (index >= 0); bw.Write(data, position, data.Length - position); fileStream.SetLength(fileStream.Position); } }