如何写一个文件舒服又轻松?

How to write a file comfortable and easy?

我是 C# 开发新手,我的问题是编写一个文本文件。我用 StreamWriter 找到了一些解决方案,比如这个...

StreamWriter file = new StreamWriter("C:\Downloads\test.txt");
file.WriteLine("this is line one");
file.WriteLine("\r\n");
file.WriteLine("this is line 2");
file.Close();

有没有更舒服的写文件方式?也许没有硬编码 "\r\n"?

如果您唯一关心的是行尾,您可以使用一个空的 WriteLine()(它使用 Environment.NewLine,它采用 OS 的行尾表示):

file.WriteLine();

除此之外,StreamWriter 是写入文件的好方法,而且也很简单。如果您更喜欢长字符串连接和一次写入,File.WriteAllText 是一个选项。

并且不要忘记 using 语句来处置您的资源:

using (StreamWriter file = new StreamWriter(C:\Downloads\test.txt))
{
    // ... your code
}

编写 multi-line 文件的最简单方法是 File.WriteAllLines:

File.WriteAllLines(@"c:\Downloads\test.txt",
    new[] { "this is line one", "", "", "this is line 2" });

空字符串在那里是因为在您的原始代码中,您将以 行文本结束... WriteLine 已经添加了行分隔符,并且你在中间电话中也有一个明确的。如果你只想要两行(根据指定的内容)那么你应该使用:

File.WriteAllLines(@"c:\Downloads\test.txt",
    new[] { "this is line one", "this is line 2" });

那将使用 platform-default 行结尾。如果你不想使用它,你可以使用 string.Join 将行连接在一起,然后调用 File.WriteAllText.

所有 File.* 处理文本的方法默认使用 UTF-8,但如果您需要其他内容,则允许您指定编码。