C#流类FileStream学习使用笔记

C#流类FileStream学习使用笔记

什么是流类FileStream

流类是C#中处理文件(文本、图片、音频等)的类,其中FileStream是最基本最常用的流类之一。相较于其他流类如MemoryStream、StringWriter等,FileStream是读写磁盘文件最快的方式。

FileStream的构造函数

FileStream类的构造函数包含多个重载形式:

public FileStream(String path, FileMode mode)
public FileStream(String path, FileMode mode, FileAccess access)
public FileStream(String path, FileMode mode, FileAccess access, FileShare share)

其中各个参数的含义如下:

  • path:文件路径。
  • mode:文件打开模式,可选值为Create、CreateNew、Open、OpenOrCreate、Truncate。
  • access:文件访问权限,可选值为Read、Write、ReadWrite等。
  • share:共享方式,可选值为None、Read、Write、ReadWrite、Delete等。

FileStream的使用示例

示例1:读取文件内容

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = @"C:\temp\test.txt";

        // 以只读方式打开文件
        using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
        {
            Console.WriteLine("文件内容:");
            byte[] buffer = new byte[1024];
            int len = fs.Read(buffer, 0, buffer.Length);
            while (len > 0)
            {
                Console.Write(Encoding.UTF8.GetString(buffer, 0, len));
                len = fs.Read(buffer, 0, buffer.Length);
            }
        }
    }
}

以上示例演示了如何使用FileStream读取文件内容,其中常用到的函数为Read()方法,该方法有三个参数:第一个参数为读取到的字节数组,第二个参数为从数组的哪个位置开始存储,第三个参数为读取的字节数。示例中将读取到的字节数组转换为字符串,然后输出到控制台。

示例2:写入文件内容

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string filePath = @"C:\temp\test.txt";
        string content = "Hello, FileStream!";

        // 以写入方式打开文件
        using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
        {
            byte[] buffer = Encoding.UTF8.GetBytes(content);
            fs.Write(buffer, 0, buffer.Length);
        }
    }
}

以上示例演示了如何使用FileStream写入文件内容,其中常用到的函数为Write()方法,该方法有三个参数:第一个参数为写入的字节数组,第二个参数为从数组的哪个位置开始写入,第三个参数为写入的字节数。示例中将字符串转换为字节数组,然后写入到文件中。

总结

通过以上两个示例,我们可以看出FileStream的使用方法其实很简单,只需要在构造函数中指定文件路径、打开模式、访问权限和共享方式,然后使用Read()方法或Write()方法进行读取或写入。FileStream是处理文件操作最快的方式,学会了FileStream的使用方法,对于爬虫、文件上传、日志系统等领域有非常重要的作用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#流类FileStream学习使用笔记 - Python技术站

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

相关文章

  • C#调用打印机实现打印

    下面就为大家详细讲解“C#调用打印机实现打印”的完整攻略。 1. 获取打印机列表 在C#中,我们可以通过System.Drawing.Printing.PrinterSettings.InstalledPrinters属性获取已安装的打印机列表。 foreach (string printer in System.Drawing.Printing.Print…

    C# 2023年6月1日
    00
  • C#多线程系列之读写锁

    C# 多线程系列之读写锁 什么是读写锁? 读写锁允许同时有多个线程来读取共享资源,但一次只允许一个线程来写入共享资源。这可能会带来一些好处,比如更快的数据访问速度。 读写锁的基本思想是: 如果它是一个读访问,它可以并发进行。 如果它是一个写入访问,则它需要独占式地进行。 读写锁的实现方式 ReaderWriterLock 在 .NET Framework 3…

    C# 2023年6月1日
    00
  • C#中的随机数函数Random()

    C#中的Random()函数可以用来生成随机数,其基本用法如下: Random random = new Random(); // 创建一个新的Random对象 int randomNumber = random.Next(); // 生成一个随机的32位有符号整数 注意,这里使用了默认的构造函数来创建Random对象,如果需要指定随机数生成器的种子值,可以…

    C# 2023年6月8日
    00
  • C#软件注册码的实现代码

    下面为您提供 “C#软件注册码的实现代码” 的详细攻略。 1. 概述 “软件注册码” 是一串由软件作者生成的唯一代码,用于验证软件的合法性。通常,用户需要在安装软件后输入注册码,以便解锁软件的全部功能。 在C#语言中,我们可以生成随机的注册码,并将其与用户输入的注册码进行比对来验证其合法性。 2. 实现方法 我们可以使用”MD5加密算法”和”Base64编码…

    C# 2023年5月31日
    00
  • c# yield提高代码性能和可读性

    C#中的yield关键字可以用于定义“迭代器方法”,使得编写迭代器的代码变得简单和易读,看起来就像是在编写一个普通的方法。yield关键字能够让程序员更加专注于业务逻辑,而不是那些与迭代器相关的底层问题。 下面是详细的攻略: 什么是C#中的迭代器方法? C#中的迭代器方法使用yield语句来生成序列。它们通常是返回IEnumerable的方法,其中T是序列中…

    C# 2023年6月7日
    00
  • abp(net core)+easyui+efcore实现仓储管理系统——组织管理升级之下(六十二)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)…

    C# 2023年4月24日
    00
  • C# 构造函数如何调用虚方法

    C# 的构造函数是用来初始化一个新对象的方法。而虚方法是在基类中声明,可在派生类中重写的方法。构造函数中调用虚方法可能会出现一些问题,因为构造函数的存在,意味着对象的未完成状态,它需要特别注意调用虚方法的顺序和可能的结果。下面我将详细讲解C# 构造函数如何调用虚方法的攻略。 1.如何在构造函数中调用虚方法 为了在构造函数中调用虚方法,我们需要按照以下步骤操作…

    C# 2023年6月6日
    00
  • Unity Shader实现水波纹效果

    下面是详细讲解“Unity Shader实现水波纹效果”的完整攻略,共分四个步骤: 1. 编写顶点着色器 在顶点着色器中,我们需要定义一个变量来储存水波的振幅,并将其应用到顶点坐标上。以下是实现水波纹效果的基本顶点着色器代码: Shader "Custom/Water" { Properties { _Amplitude ("A…

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