如何写一个文件舒服又轻松?
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,但如果您需要其他内容,则允许您指定编码。
我是 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,但如果您需要其他内容,则允许您指定编码。