C# StreamWriter
最后修改于 2023 年 7 月 5 日
C# StreamWriter 教程展示了如何使用 StreamWriter 在 C# 中写入文本文件。 C# 教程 是一个关于 C# 语言的综合教程。
C# 中的输入和输出是基于流的。 Stream 是所有流的抽象基类。 流是字节序列的抽象,例如文件、输入/输出设备、进程间通信管道或 TCP/IP 套接字。
C# StreamWriter
StreamWriter 以特定的编码将字符写入流。 除非另有说明,否则 StreamWriter 默认为 UTF-8 编码。
C# StreamWriter 示例
WriteLine 方法向流写入新行。 WriteLine 有几个重载方法。
var path = "data.txt";
using var sw = new StreamWriter(path);
sw.WriteLine("old falcon");
sw.WriteLine("stormy night");
Console.WriteLine("data written to file");
该示例将两行写入 data.txt 文件。
using var sw = new StreamWriter(path);
创建了一个 StreamWriter。 using 关键字在 Main 方法结束时关闭打开的文件。
sw.WriteLine("old falcon");
sw.WriteLine("stormy night");
两行被写入流。
$ dotnet run data written to file $ cat data.txt old falcon stormy night
C# StreamWriter 写入格式化字符串
我们可以使用 WriteLine 写入格式化字符串,类似于 string.Format。
访问 C# 字符串格式教程,了解更多关于 C# 中字符串格式化的信息。
using FileStream fs = File.Create("data.txt");
using var sw = new StreamWriter(fs);
int n = 3;
string word = "hawks";
sw.WriteLine("There are {0} {1} in the sky", n, word);
Console.WriteLine("data written to file");
该示例将格式化行写入文件。
using FileStream fs = File.Create("data.txt");
使用 File.Create 创建一个 FileStream。
using var sw = new StreamWriter(fs);
通过将 FileStream 传递给 StreamWriter 的构造函数来生成 StreamWriter。
int n = 3;
string word = "hawks";
sw.WriteLine("There are {0} {1} in the sky", n, word);
格式化的行被写入流。 {0} 和 {1} 占位符被 n 和 word 变量的内容替换。
C# StreamWriter 追加文本
我们可以创建一个 StreamWriter,它会将文本附加到文件中。
public StreamWriter(string path, bool append);
此构造函数通过使用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的新实例。 如果文件存在,则可以覆盖或附加到它。 如果文件不存在,则构造函数会创建一个新文件。
var path = "words.txt";
using var sw = new StreamWriter(path, true);
char[] data = {'h', 'a', 'w', 'k'};
sw.WriteLine(data);
Console.WriteLine("data appended to file");
该示例将一个单词附加到 words.txt 文件中。
using var sw = new StreamWriter(path, true);
通过将 true 作为第二个参数传递给构造函数,以 Append 模式打开 StreamWriter。
char[] data = {'h', 'a', 'w', 'k'};
sw.WriteLine(data);
WriteLine 的这个重载方法将一个字符数组写入流。
来源
在本文中,我们使用 StreamWriter 在 C# 中读取了文本文件。
作者
列出所有 C# 教程。