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日

相关文章

  • 编写的vs2005水晶报表程序在vs2008下正常使用的一些实现方法

    由于 VS2005 和 VS2008 版本之间存在一些差异,导致在 VS2008 中运行之前在 VS2005 中编写的水晶报表程序会出现一些问题,本文将讲解如何使用一些实现方法修复这些问题。 1. 更新水晶报表的版本 VS2008 支持的水晶报表的版本是 10.5,而 VS2005 支持的最高版本仅为 10.0。因此,首先需要将水晶报表的版本升级为 VS20…

    C# 2023年5月15日
    00
  • C# WPF数据绑定方法以及重写数据模板后数据绑定

    写在前面 本文将会介绍WPF如何实现前后端数据绑定和在进行数据绑定时常用的方法和类以及对于DataGrid、ListView这样的控件重写数据模板后控件如何进行数据绑定。 本文主要针对于数据绑定的基础实现进行介绍,通过此博文你将会有能力编写一个MVVM设计模式的C#、WPF项目。如果您是C#及WPF的资深开发人员本文可能对您没有太大的帮助,但如果你是一个正在…

    C# 2023年4月17日
    00
  • unity将图片转换成字体的方法

    转换图片成字体,可以使用Unity的TextMesh Pro插件。下面是具体的步骤: 1. 安装TextMesh Pro 插件 在Unity Asset Store中搜索“TextMesh Pro”并下载安装 2. 创建一个新的TextMesh Pro字体 在菜单栏中依次选择TextMeshPro -> Font Asset Creator,打开字体生…

    C# 2023年6月3日
    00
  • C#的字符串比较

    C#中,字符串比较有多种方式,最常用的有三种:使用“==”比较,使用Equals方法比较,使用Compare方法比较。 使用“==”比较字符串 在C#中,可以使用“==”符号来比较两个字符串是否相等,例如: string str1 = "hello"; string str2 = "world"; string str…

    C# 2023年6月1日
    00
  • C# 模式匹配完全指南

    C# 模式匹配完全指南 本文旨在为C#开发者提供完整的模式匹配指南,包括使用 switch 语句,使用 is 表达式和模式表达式。了解模式匹配可以让你的代码更加简洁、易读和可维护。 使用 switch 语句进行模式匹配 switch 语句可以完成基本的模式匹配,通过模式匹配,可以避免大量的if语句,极大的增强代码的简洁性和可读性。 下面是一个用于判断对象类型…

    C# 2023年6月6日
    00
  • ASP.NET Core扩展库之Http日志的使用详解

    ASP.NET Core扩展库之Http日志的使用详解 在ASP.NET Core中,Http日志是一种非常有用的功能,它可以帮助您更好地了解应用程序的运行情况。在本攻略中,我们将详细讲解ASP.NET Core扩展库之Http日志的使用,并提供两个示例说明。 步骤一:安装Microsoft.Extensions.Logging和Microsoft.AspN…

    C# 2023年5月17日
    00
  • c#(Socket)异步套接字代码示例

    让我来为您详细讲解一下“C#(Socket)异步套接字代码示例”的完整攻略。 什么是异步套接字 为了更好的理解这个示例,我们先来简单介绍一下异步套接字。 异步套接字(Asynchronous Socket)是一种非阻塞式的网络编程模型,通过异步套接字可以避免使用线程等多线程编程方式。异步套接字允许应用程序调用发送和接收函数,而不用等待这些函数完成,这样就可以…

    C# 2023年6月7日
    00
  • gridview实现服务器端和客户端全选的两种方法分享

    首先,我们需要了解 GridView 是什么。GridView 是 ASP.NET WebForms 中常用的数据控件,用于将数据以表格的形式展示出来。在 GridView 中,一般会有多个 CheckBox 控件用于实现表格中数据的多选和全选功能。 接下来,我将介绍两种实现 GridView 的服务器端和客户端全选的方法。 方法一:使用事件处理程序实现全选…

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