C#使用文件流FileStream和内存流MemoryStream操作底层字节数组byte「」

1. FileStream和MemoryStream的介绍

C#中的FileStream和MemoryStream是用于读写文件和操作内存流的类。它们允许我们以字节为单位读写数据,是处理文件和内存数据的关键组件。本文将介绍如何使用这两个类来操作底层字节数组byte。

2. FileStream的使用

2.1 创建和打开文件流

使用FileStream可以创建和打开文件流。下面是一个示例,演示如何创建一个名为"example.txt"的文本文件并向其中写入数据:

string filePath = "example.txt";

FileStream fs = new FileStream(filePath, FileMode.Create);

在上述代码中,我们指定了文件的路径和名称,并指定了文件操作模式为Create,表示创建一个新的文件。

2.2 写入数据

有了FileStream之后,我们可以使用Write方法向文件中写入数据。下面是一个例子,演示了向文件中写入字符串的过程:

string data = "This is a test string.";

byte[] byteData = Encoding.UTF8.GetBytes(data);

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

在上述代码中,我们首先将字符串转换为字节数组,然后使用Write方法将字节数组写入文件。

2.3 读取数据

使用FileStream可以读取文件中的数据。下面是一个示例,演示了如何从文件中读取数据并将其打印到控制台上:

byte[] buffer = new byte[1024];

int bytesRead = fs.Read(buffer, 0, buffer.Length);

string result = Encoding.UTF8.GetString(buffer, 0, bytesRead);

Console.WriteLine(result);

在上述代码中,我们首先创建了一个缓冲区(byte数组),然后使用Read方法从文件中读取数据,并将读取的字节数保存到bytesRead变量中。最后,我们使用Encoding.UTF8.GetString方法将字节数组转换为字符串,并将其输出到控制台上。

3. MemoryStream的使用

3.1 创建和操作内存流

使用MemoryStream可以创建和操作内存流。下面是一个示例,演示了如何创建一个内存流并向其中写入数据:

MemoryStream ms = new MemoryStream();

string data = "This is a test string.";

byte[] byteData = Encoding.UTF8.GetBytes(data);

ms.Write(byteData, 0, byteData.Length);

在上述代码中,我们首先创建了一个内存流,并向其中写入了一个字符串。

3.2 读取数据

使用MemoryStream可以读取内存流中的数据。下面是一个示例,演示了如何从内存流中读取数据并将其打印到控制台上:

ms.Position = 0;

byte[] buffer = new byte[1024];

int bytesRead = ms.Read(buffer, 0, buffer.Length);

string result = Encoding.UTF8.GetString(buffer, 0, bytesRead);

Console.WriteLine(result);

在上述代码中,我们首先将内存流的位置设置为0,然后创建了一个缓冲区(byte数组),使用Read方法从内存流中读取数据,并将结果转换为字符串并输出到控制台上。

4. 总结

本文介绍了C#中使用FileStream和MemoryStream类操作底层字节数组byte的方法。我们学习了如何创建和打开文件流以及如何向文件中写入数据。我们还学习了如何读取文件中的数据,并将其转换为字符串。此外,我们还学习了如何创建和操作内存流,并读取其中的数据。这些类是C#中处理文件和内存数据的重要工具,通过它们,我们可以更加灵活地操作底层字节数组byte。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签