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日

相关文章

  • .NET使用.NET Core CLI开发应用程序

    .NET使用.NET Core CLI开发应用程序攻略 在本攻略中,我们将详细介绍如何使用.NET Core CLI开发应用程序。我们将会涵盖以下内容: 安装.NET Core SDK 创建.NET Core应用程序 编写代码 构建和运行应用程序 示例说明 1. 安装.NET Core SDK 在开始之前,您需要安装.NET Core SDK。您可以从官方网…

    C# 2023年5月16日
    00
  • .NET MD5加密解密代码解析

    下面是针对“.NET MD5加密解密代码解析”的详细攻略: 一、MD5加密解密简介 MD5加密是目前广泛使用的单向加密算法,它可以将任意长度的数据块(字符串、文件等)计算出固定长度的散列值(通常为16或32个字节),且散列值具有均匀分布和不可逆性。因此,MD5加密可以应用于密码保护、数字签名、数据完整性验证等领域。 MD5加密的原理是采用消息摘要算法,即对输…

    C# 2023年5月31日
    00
  • C#使用LOCK实现线程同步

    下面我将详细讲解如何使用C#中的lock语句实现线程同步。 什么是lock语句 lock语句是C#中用于保护共享资源的关键字。当多个线程访问一个共享资源时,可能会引发竞态条件(Race Condition)的问题,这时就需要使用lock语句来防止竞态条件的发生。lock语句会将一段关键代码标记为临界区,同一时间只允许一个线程进入临界区执行代码,其他线程需要等…

    C# 2023年6月1日
    00
  • C#程序中session值的保存方法以及转为字符串的方法总结

    下面是关于C#程序中session值的保存方法以及转为字符串的方法总结的攻略: 保存Session的值的方法 在C#程序中,我们可以使用Session来保存用户的信息,下面是几种常见的保存Session的值的方法: 1. 使用Session对象保存 Session["key"] = "value"; 这是最常见的一种方…

    C# 2023年5月15日
    00
  • C#实现客户端弹出消息框封装类实例

    下面我将详细讲解“C#实现客户端弹出消息框封装类实例”的完整攻略,包括代码示例以及详细步骤解释。 1. 创建Windows Forms项目 首先,我们需要创建一个Windows Forms应用程序项目。打开Visual Studio,选择“文件” -> “新建” -> “项目”,在弹出的新建项目对话框中选择“Windows Forms应用程序”,…

    C# 2023年5月15日
    00
  • ASP.NET数据库存取图片的方法

    ASP.NET 是一个基于 .NET 框架的 Web 应用程序开发平台,它可以使用多种方式存储图片,包括将图片存储在文件系统中,或者将它们存储在数据库中。 以下是在 ASP.NET 中存储和访问图片的两种常见方法: 方法1:将图片存储在文件系统中 将图片存储在文件系统中是最常见的方法之一,主要包括两个步骤:上传图片和显示图片。 1.1上传图片 上传图片可以使…

    C# 2023年5月31日
    00
  • ThreadLocal 在上下文传值场景实践源码

    ThreadLocal 是 Java 中常用的多线程编程技术之一,它可以在多个线程环境中保存并传递数据,将数据与线程绑定在一起,实现线程的局部变量。在一些上下文传值的场景中,ThreadLocal 可以较为方便的实现参数的传递。接下来,本文将详细讲解 ThreadLocal 在上下文传值场景实践源码的完整攻略。 什么是 ThreadLocal ThreadL…

    C# 2023年6月7日
    00
  • C#十六进制字符串转十进制int的方法

    我们来讲解“C#十六进制字符串转十进制int的方法”的攻略。 文字说明 要将一个十六进制字符串转换成十进制int数值,在C#中可以使用Convert.ToInt32方法。该方法有两个参数:第一个参数是十六进制字符串,第二个参数是用于指定转换进制的整数值,常用进制参数是16。 下面我们来看一下具体的代码实现: string hexStr = "1AC…

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