开放的编程资料库

当前位置:我爱分享网 > C#教程 > 正文

C#写文本文件

C#编写文本文件展示了如何在C#中编写文本文件。C#中的输入和输出操作基于流。Stream是所有流的抽象基类。C#教程是C#语言的综合教程。

C#中的输入和输出基于流。Stream是所有流的抽象基类。流是字节序列的抽象,例如文件、输入/输出设备、进程间通信管道或TCP/IP套接字。

C#流

Stream为输入和输出类型提供通用接口,并将程序员与操作系统和底层设备的具体细节隔离开来。例如,MemoryStream处理内存中的数据,FileStream处理文件中的数据。

C#使用File.WriteAllText写入文本文件

File.WriteAllText方法创建一个新文件,将内容写入文件,然后关闭文件。如果目标文件已经存在,则将其覆盖。

var path = "data.txt";

string text = "old falcon";
File.WriteAllText(path, text);

Console.WriteLine("text written");

该示例将文本写入文件。

File.WriteAllText(path, text);

File.WriteAllText方法有两个参数:要写入的文件和要写入文件的字符串。该方法采用可选的第三个参数:编码。如果未指定,则设置为UTF8。

C#使用File.WriteAllLines写入文本

File.WriteAllLines方法创建一个新文件,将一个或多个字符串写入该文件,然后关闭该文件。

var path = "data.txt";

string[] lines = {"old falcon", "deep forest", "golden ring"};
File.WriteAllLines(path, lines);

Console.WriteLine("lines written to file");

该示例将三行写入文件。

string[] lines = {"old falcon", "deep forest", "golden ring"};

这是一个三行的字符串数组。

File.WriteAllLines(path, lines);

使用File.WriteAllLines方法将行写入文件。

C#使用File.WriteAllBytes写入文本

File.WriteAllBytes方法创建一个新文件,将指定的字节数组写入文件,然后关闭文件。如果目标文件已经存在,则将其覆盖。

using System.Text;

var path = "data.txt";

string text = "Today is a beautiful day. We go swimming and fishing.";
byte[] data = Encoding.ASCII.GetBytes(text);

File.WriteAllBytes(path, data);

Console.WriteLine("data written to file");

该示例使用File.WriteAllBytes方法将文本写入文本文件。

string text = "Today is a beautiful day. We go swimming and fishing.";
byte[] data = Encoding.ASCII.GetBytes(text);

首先,我们使用Encoding.ASCII.GetBytes方法将文本转换为字节。

File.WriteAllBytes(path, data);

然后使用File.WriteAllBytes方法将字节数组写入文件。

C#用StreamWriter的WriteLine写文本

StreamWriter的WriteLine方法将一个格式化的字符串和一个新行写到流中。

var path = "data.txt";

using var sw = new StreamWriter(path);
sw.WriteLine("old falcon");

Console.WriteLine("data written to file");

该示例将一行写入文本文件。

using var sw = new StreamWriter(path);
sw.WriteLine("old falcon");

一行被写入文本文件。我们使用using关键字来在sw变量超出范围时自动释放文件资源。

C#用FileStream的write写文本

FileStream的write方法将一个字节块写入文件流。

public override void Write(byte[] array, int offset, int count);

第一个参数是包含要写入流的数据的缓冲区。第二个参数是数组中从零开始的字节偏移量,从中开始将字节复制到流中。第三个参数是要写入的最大字节数。

using System.Text;

var path = "data.txt";

using FileStream fs = File.OpenWrite(path);

var data = "falcon\nhawk\nforest\ncloud\nsky";
byte[] bytes = Encoding.UTF8.GetBytes(data);

fs.Write(bytes, 0, bytes.Length);

Console.WriteLine("data written to file");

该示例将文本数据写入文本文件。

using FileStream fs = File.OpenWrite(path);

首先,我们使用File.OpenWrite方法打开一个文件流。

var data = "falcon\nhawk\nforest\ncloud\nsky";
byte[] bytes = Encoding.UTF8.GetBytes(data);

然后我们使用Encoding.UTF8.GetBytes方法将文本数据转换为字节。

fs.Write(bytes, 0, bytes.Length);

最后,我们将字节数组写入文件流。

C#异步写入文本

在前面的例子中,我们同步写入了文本数据。C#还提供等效的异步方法。

File.WriteAllTextAsync异步创建一个新文件,将指定的字符串写入该文件,然后关闭该文件。如果目标文件已经存在,则会被覆盖。

var path = "data.txt";

string text = "an old falcon";
await File.WriteAllTextAsync(path, text);

Console.WriteLine("text written");

在示例中,我们异步写入文本文件。

await File.WriteAllTextAsync(path, text);

await运算符应用于异步方法中的任务,以暂停该方法的执行,直到等待的任务完成。

在本文中,我们使用C#以各种方式写入文本文件。

列出所有C#教程。

未经允许不得转载:我爱分享网 » C#写文本文件

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏