C# FileStream文件读写详解

C# FileStream文件读写详解

什么是FileStream?

  • FileStream 是 C# 中用于对文件进行读写操作的一个类;
  • FileStream 继承于 System.IO.Stream 类;
  • FileStream 和 Stream 类的成员大部分相同。

FileStream的构造函数

  • FileStream(string path, FileMode mode): 创建文件流,其中 path 是文件路径,mode 是文件流打开方式;
  • FileStream(string path, FileMode mode, FileAccess access): 创建文件流,其中 path 是文件路径, mode 是文件流打开方式,access 是FileStream的访问权限;
  • FileStream(string path, FileMode mode, FileAccess access, FileShare share): 创建文件流,其中 path 是文件路径, mode 是文件流打开方式,access 是 FileStream 的访问权限,share是文件共享方式。

FileStream常用成员方法

  1. FileStream.ReadByte():读取一个字节数据;
  2. FileStream.Read(byte[] buffer, int offset, int count):读取指定数目的字节数据,存在 buffer 中,从 buffer[offset] 开始存放,最多读取 count 个字节;
  3. FileStream.Write(byte[] buffer, int offset, int count):将指定数目的字节内容从 buffer 中写入文件中, 从 buffer[offset] 开始的 count 个字节;
  4. FileStream.Flush():刷新 FileStream 缓存,将数据立即写入到文件中;
  5. FileStream.Seek(long offset, SeekOrigin origin):设置文件指针的位置,返回文件指针相对于文件开头的偏移量;
  6. FileStream.Close():关闭的 FileStream 流;
  7. FileStream.Dispose():释放 FileStream 使用的非托管资源和托管资源。

FileStream示例1:FileStream读取文件

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\test.txt"; //文件路径

        //创建FileStream对象
        FileStream stream = new FileStream(path, FileMode.Open);

        //读取 FileStream 中的数据并输出到控制台
        for(int i = 0; i < stream.Length; i++)
        {
            int b = stream.ReadByte(); //读取1个字节的数据
            Console.Write((char)b);     // 当做字符输出到控制台
        }

        //关闭文件流
        stream.Close();
    }
}

FileStream示例2:FileStream写入文件

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\test.txt"; //文件路径
        string content = "Hello World!";//文件内容

        //创建FileStream对象
        FileStream stream = new FileStream(path, FileMode.Create);

        //写入内容到FileStream
        byte[] buffer = System.Text.Encoding.UTF8.GetBytes(content);
        stream.Write(buffer, 0, buffer.Length);

        //刷新缓存并关闭文件流
        stream.Flush();
        stream.Close();
    }
}

以上是关于 FileStream 文件读写的一个简单说明,这里列举的只是一些常用的FileStrean成员方法和构造函数,其他更多的细节,可以参考 .NET 框架的官方文档进行查看。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# FileStream文件读写详解 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • C#灰度化图像的实例代码

    下面针对“C#灰度化图像的实例代码”的完整攻略进行详细讲解。 标题 概述 在进行灰度化图像处理时,通常需要将图像中的每个像素转换为灰度值,从而实现图像的灰度化。本文将通过 C# 实现灰度化图像的处理。 前提条件 在开始本文的示例代码之前,需要确保您已经具备以下条件: Visual Studio 开发环境 C# 语言基础 实例代码 在进行灰度化图像处理时,可以…

    C# 2023年5月31日
    00
  • asp.net 计算字符串中各个字符串出现的次数

    计算字符串中各个字符串出现的次数可以通过 Hash 表(Dictionary)来实现,同时可以利用正则表达式对字符串进行匹配。本攻略将根据输入的字符串 s,利用 Dictionary 统计各个字符串出现的次数,并给出两个示例说明。 步骤 1:导入命名空间 在代码文件中引入以下命名空间: using System.Collections.Generic; //…

    C# 2023年6月8日
    00
  • C#中分部类和分部方法的应用

    当我们在编写一个C#类时,该类通常会包含很多方法和属性。如果类的代码太长,它就可能会变得难以阅读和维护。为了解决这个问题,C#提供了一种将类和方法拆分成多个文件的方法。这就是分部类和分部方法的应用。 分部类 分部类指的是单个类定义在多个文件中。每个文件都包含类定义的一部分,而所有文件的内容被视为一个单独的完整类定义。在C#中,可以使用 partial 关键字…

    C# 2023年6月7日
    00
  • .aspx中的命名空间设置实现代码

    在ASP.NET Web应用程序中,代码文件(.aspx和.asax)的最顶部通常会引入命名空间,以便在这些页面中使用.NET框架中的类。 在.aspx页面中,我们可以使用<%@ Page %>指令指定页面的属性,其中包含要使用的命名空间。具体步骤如下: 打开你想要更新的.aspx文件。 在Page指令中添加<%@ Import %>…

    C# 2023年5月31日
    00
  • 解析如何利用一个ASP.NET Core应用来发布静态文件

    解析如何利用一个ASP.NET Core应用来发布静态文件 在本攻略中,我们将深入讲解如何利用一个ASP.NET Core应用来发布静态文件,并提供两个示例说明。 准备工作 在开始发布静态文件之前,您需要完成以下准备工作: 在ASP.NET Core应用程序中安装Microsoft.AspNetCore.StaticFiles包。 dotnet add pa…

    C# 2023年5月17日
    00
  • C#窗体传值代码方法

    下面是关于C#窗体传值代码方法的完整攻略。 一、通过构造函数传值 窗体类在实例化时可以通过构造函数传参,实现值的传递。具体步骤如下: 1.在接受传值的窗体中定义传值的变量和对应的构造函数。 public partial class FormB : Form { public string UserName; public FormB(string userN…

    C# 2023年6月7日
    00
  • C#中List集合使用Max()方法查找到最大值的实例

    当我们需要在C#中找到给定集合中的最大值时,可以使用List集合的Max()方法。下面是三个简单的步骤可以帮助你在C#中找到List集合中的最大值: 创建一个包含数据项的List集合对象 调用Max()方法查找最大值 使用变量存储最大值 下面是一段代码示例: List<int> numbers = new List<int>() { …

    C# 2023年6月1日
    00
  • asp.net Execl的添加,更新操作实现代码

    接下来我会详细讲解如何在ASP.NET中进行Excel的添加和更新操作。 准备工作 在进行Excel操作之前,我们需要安装EPPlus包,它是一个免费的开源库,可以让我们在ASP.NET中轻松地操作Excel文件。在Visual Studio中,可以通过NuGet包管理器安装EPPlus。 添加Excel文件 要向Excel文件中添加数据,我们需要使用EPP…

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