C# FileStream简单介绍和使用

C# FileStream简单介绍和使用

简介

FileStream是C#中用于文件操作的类之一,它可以对文件进行读写操作。使用FileStream类操作文件时,首先需要创建FileStream的实例,然后使用该实例的方法来进行文件读写操作。

创建FileStream实例

在创建FileStream实例时,要指定文件路径和文件模式。文件模式可以是读模式、写模式、追加模式。

FileStream fileStream = new FileStream(path, FileMode mode);

其中,path表示文件路径,mode表示文件模式,可用的文件模式有以下三种:

  • FileMode.Create: 如果文件不存在,则新建文件。如果文件已经存在,则清空文件并打开。
  • FileMode.Open: 如果文件不存在,则抛出异常。如果文件已经存在,则打开文件。
  • FileMode.Append: 如果文件不存在,则新建文件。如果文件已经存在,则追加到文件结尾。

读取文件

使用FileStream读取文件时,可以先将文件内容读入一个byte数组中,然后再将byte数组转化为字符串。示例代码如下:

FileStream fileStream = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
string content = Encoding.UTF8.GetString(bytes);
fileStream.Close();

在上述代码中,fileStream.Read(bytes, 0, (int)fileStream.Length)读取文件内容并存储到bytes数组中,Encoding.UTF8.GetString(bytes)将byte数组转化为字符串。

写入文件

使用FileStream写入文件时,可以先将要写入的文本内容转化为byte数组,然后再将byte数组写入到文件中。示例代码如下:

string content = "Hello, World!";
byte[] bytes = Encoding.UTF8.GetBytes(content);
FileStream fileStream = new FileStream(filePath, FileMode.Create);
fileStream.Write(bytes, 0, bytes.Length);
fileStream.Flush();
fileStream.Close();

在上述代码中,Encoding.UTF8.GetBytes(content)将要写入的文本内容转化为byte数组,fileStream.Write(bytes, 0, bytes.Length)将byte数组写入到文件中,fileStream.Flush()将缓冲区的数据写入到文件中。

示例

示例一:读取文件

假设有一个文本文件,其路径为D:\test.txt,文件内容为Hello, World!。以下示例代码实现了从该文件中读取文本内容,并将内容打印输出。

FileStream fileStream = new FileStream("D:\\test.txt", FileMode.Open);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
string content = Encoding.UTF8.GetString(bytes);
fileStream.Close();
Console.WriteLine(content);

运行上述代码,输出结果为:

Hello, World!

示例二:追加写入文件

假设有一个文本文件,其路径为D:\test.txt,文件内容为Hello, World!。以下示例代码实现了向该文件中追加写入文本内容Nice to meet you!

string content = "Nice to meet you!";
byte[] bytes = Encoding.UTF8.GetBytes(content);
FileStream fileStream = new FileStream("D:\\test.txt", FileMode.Append);
fileStream.Write(bytes, 0, bytes.Length);
fileStream.Flush();
fileStream.Close();

运行上述代码,再次读取D:\test.txt文件的内容,输出结果为:

Hello, World!Nice to meet you!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# FileStream简单介绍和使用 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#微信开发之自定义菜单管理

    C#微信开发之自定义菜单管理 简介 自定义菜单是公众号开发中最基本的功能之一,通过自定义菜单可以为用户提供更便捷的交互方式。本文将详细讲解使用C#开发微信自定义菜单的流程和方法。 准备工作 使用C#开发微信自定义菜单需要先完成以下准备工作: 成为微信公众号的开发者,开通公众号的开发权限。 在微信公众平台申请获得appid和appsecret两个关键信息。 在…

    C# 2023年5月31日
    00
  • Blazor UI库 Bootstrap Blazor 快速上手 (v7.5.7)

    最近组件库更新比较频繁,有些同学感觉有点迷茫,就着今天刚上了张老板一节课立马撸个新的上手教程回馈社区, ;-> 1.新建工程b18QuickStartv757,将项目添加到解决方案中 dotnet new blazorserver -o b18QuickStartv757 dotnet sln add b18QuickStartv757/b18Quic…

    C# 2023年5月4日
    00
  • C#实现较为实用的SQLhelper

    C#实现较为实用的SQLhelper完整攻略 1. SQLhelper是什么? SQLhelper是在C#中操作数据库的工具库,它通过对ADO.NET的封装和简化,让我们在操作数据库的时候更加方便、快捷和安全。 2. 使用步骤 2.1 引入命名空间 要使用SQLhelper,首先需要在项目中引入SqlClient命名空间。 using System.Data…

    C# 2023年6月2日
    00
  • 在.NET 6中使用日志组件log4net的方法

    以下是一个详细讲解“在.NET 6中使用日志组件log4net的方法”的完整攻略: 准备工作 在.NET 6项目中使用log4net日志组件,我们首先要准备好log4net包。可以在NuGet仓库中搜索“log4net”并安装。 配置文件 我们需要准备一个log4net的配置文件,来指定日志输出的文件、格式及其它相关属性。 在项目中添加一个名为“log4ne…

    C# 2023年6月3日
    00
  • CodeBuilder 3 预览版发布

    CodeBuilder是一款强大的代码生成工具,目前发布了 3.0 preview 2,大家可以前去下载体验 官方主页。 1、多种数据源 基于 ADO.NET 的数据驱动 基于 Fireasy 3,支持从 SqlServer、MySql、Oracle、Firebird、PostgreSql、SQLite、达梦、人大金仓、神通数据库,以及 OleDb 驱动。可…

    C# 2023年4月25日
    00
  • 最详细的ASP.NET微信JS-SDK支付代码

    标题:ASP.NET微信JS-SDK支付代码攻略 概述 微信JS-SDK是微信公众号开发中常用的一种技术手段,可以集成微信支付,让用户能够在微信中完成支付操作。本文将详细介绍如何在ASP.NET中使用微信JS-SDK完成支付操作,并且提供代码示例。 步骤 步骤一:获取微信支付授权 在使用微信JS-SDK进行支付之前,需要先获取微信支付的授权。具体方式如下: …

    C# 2023年5月31日
    00
  • 在C#使用字典存储事件示例及实现自定义事件访问器

    在C#中,我们可以使用字典作为存储事件的数据结构来方便地处理事件的订阅和触发。以下是一些实现自定义事件访问器的步骤: 1. 声明事件 首先,我们需要声明事件。事件是一种操作,它在特定条件下会被触发。在C#中,事件可以理解为委托的实例化。下面是一个声明事件的示例: public event Action<string> MyEvent; 这里声明了…

    C# 2023年5月31日
    00
  • .net core中的System.Buffers命名空间

    在.NET Core中,System.Buffers命名空间提供了一组用于处理内存缓冲区的类型和方法。这些类型和方法可以帮助您更有效地管理内存,并提高应用程序的性能。在本攻略中,我们将详细讲解System.Buffers命名空间,并提供两个示例说明。 步骤一:了解System.Buffers命名空间 System.Buffers命名空间提供了以下类型和方法:…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部