gpt4 book ai didi

c# - 如何在C#中使用StreamWriter.WriteLine方法写入unix行结束符 '\n'?

转载 作者:行者123 更新时间:2023-12-02 18:25:50 25 4
gpt4 key购买 nike

StreamWriter.WriteLine 自动写入行结束符,但是 StreamWriter.WriteLine 方法的默认行结束符似乎是 \r\n ,对于unix平台是否可以将其更改为\n

我在 Windows 10 上运行代码,它与平台相关吗?我可以在Windows环境下使用StreamWriter.WriteLine输出带有unix endofline终止符\n的文本文件吗?

这是我的代码:

using System;
using System.IO;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
StreamWriter sw = new StreamWriter("NewLineText.txt", true);
for (int i = 0; i < 3; i++)
{
sw.WriteLine("new line test" + i);
}
sw.Close();
}
}
}

最佳答案

StreamWriter.WriteLine write endofline terminator automatically, but It seems that the default endofline terminator for StreamWriter.WriteLine method is '\r\n', is it possible to change it to '\n' for unix platform?

在 Unix 上运行时,它已经使用 \n

I'm running the code on Windows 10, Is it platform-related?

是的。

Can I use StreamWriter.WriteLine to output a textfile with unix endofline terminator '\n' on Windows environment?

是 - 通过更改 NewLine 属性。您所需要做的就是在调用 WriteLine 之前设置属性:

StreamWriter sw = new StreamWriter("NewLineText.txt", true);
sw.NewLine = "\n"; // Use Unix line endings
// Other code as before

顺便说一句,我还建议使用 using 语句,以便适本地处理编写器 - 就我个人而言,我通常会使用 File.AppendText文件.CreateText。所以:

using var writer = File.AppendText("NewLineText.txt");
writer.NewLine = "\n"; // Use Unix line endings
for (int i = 0; i < 3; i++)
{
writer.WriteLine($"new line test {i}");
}

关于c# - 如何在C#中使用StreamWriter.WriteLine方法写入unix行结束符 '\n'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70201332/

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