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日

相关文章

  • 分享WCF聊天程序–WCFChat实现代码

    WCF(Windows Communication Foundation)是一种用于构建分布式应用程序的框架。WCF可以用于实现各种功能,包括聊天程序。本文将介绍如何使用WCF实现聊天程序,并分享一个名为WCFChat的示例项目。 WCFChat项目介绍 WCFChat是一个使用WCF实现聊天程序的示例项目。该项目包括两个应用程序:WCFChat.Serve…

    C# 2023年5月15日
    00
  • c# 命名空间和程序集

    C# 中的命名空间和程序集是重要概念,理解它们的概念和用法可以帮助程序员更好地组织代码和模块化开发。本篇攻略将全面介绍 C# 中的命名空间和程序集。 命名空间 概念 命名空间是用于组织代码的一种方式。它可以包含类型、变量、常量和其他命名空间。命名空间通过隔离不同的代码区域,避免了名称冲突,在代码模块化中起到了重要的作用。 语法 在 C# 中,使用 names…

    C# 2023年6月7日
    00
  • JVM内存模型/内存空间:运行时数据区

    JVM内存模型/内存空间是JVM管理内存的方式,它将JVM内存分为不同的数据区,每个数据区负责不同的功能。以下是JVM内存空间的详细解释和示例。 运行时数据区 JVM内存分为以下几个运行时数据区: 程序计数器(Program Counter Register) Java虚拟机栈(Java Virtual Machine Stacks) 本地方法栈(Nativ…

    C# 2023年6月6日
    00
  • C#使用Word中的内置对话框实例

    下面是详细的攻略: 使用Word中的内置对话框实例 在C#中,我们可以通过调用Word的内置对话框来实现相关功能。具体步骤如下: 引入Word对象库和对话框对象库 首先我们需要在项目中引入Word对象库和对话框对象库。 using Microsoft.Office.Interop.Word; using Microsoft.Office.Core; 创建Wo…

    C# 2023年6月3日
    00
  • C#用Topshelf创建Windows服务的步骤分享

    当我们想要在Windows系统上运行某一个程序时,我们通常会使用Windows服务。在C#语言中,我们可以使用Topshelf库快速地创建和管理Windows服务。下面是使用Topshelf库创建Windows服务的步骤: 步骤1:创建一个控制台程序 首先需要创建一个新的C#控制台项目。在Visual Studio中,选择“新建项目”并选择“控制台应用程序”…

    C# 2023年5月15日
    00
  • C#如何连接服务器共享文件夹

    连接服务器共享文件夹是C#程序开发中非常常见的需求,以下是连接服务器共享文件夹的完整攻略: 确定共享文件夹的路径 在连接服务器共享文件夹之前,需要确定共享文件夹的路径。共享文件夹通常是基于服务器的网络共享,因此需要访问服务器的网络位置,例如: \\servername\sharedfolder 其中,servername表示服务器的名称或IP地址,share…

    C# 2023年6月6日
    00
  • 在Winform动态启动、控制台命令行的方法

    下面是详细的讲解。 Winform动态启动 Winform动态启动是指在Winform程序运行的过程中,通过代码动态地启动其它的Winform程序。这个过程可以通过使用Process类来实现。 Process类是.NET中用于指示、启动和停止本地系统上进程的类。它提供了几种不同的方法来创建、启动和停止新的进程。其中,我们可以使用Start方法来启动一个新的进…

    C# 2023年6月7日
    00
  • C#将图片存放到SQL SERVER数据库中的方法

    前言 在开发过程中,我们通常需要将图片等二进制数据存储到数据库中,方便管理和备份。本文将介绍使用C#将图片存储到SQL SERVER数据库中的方法,包括以下几个方面: 创建数据库表格 读取本地图片 将图片转换为字节数组 将字节数组保存到数据库中 创建数据库表格 在SQL SERVER中创建一个名为Images的表格,用于存储图片数据。该表格包含三个字段: I…

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