gpt4 book ai didi

c# - 在 C# 中将文件中的行结尾从 DOS 格式转换为 UNIX 格式

转载 作者:可可西里 更新时间:2023-11-01 09:52:26 28 4
gpt4 key购买 nike

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

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

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

最佳答案

这是您的答案 Convert files from Dos to Unix and back :

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);
}
}

关于c# - 在 C# 中将文件中的行结尾从 DOS 格式转换为 UNIX 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079299/

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