当前位置: 首页 > news >正文

C# 文件与文件夹操作指南:深入探索流、文件流及文件夹管理

C# 中的文件操作是一个重要的功能,它允许读取、写入、修改以及管理存储在磁盘上的文件和文件夹。下面将介绍文件操作的一些基本概念,包括流(Streams)、文件流(FileStream)、字节流(实际上,FileStream 就是一种字节流),以及文件夹(或称为目录)操作。

1. 流(Streams)

在 C# 中,流(Streams)是一种抽象的概念,用于表示数据的流动。它可以是输入流(从源读取数据),也可以是输出流(向目标写入数据)。流是顺序的,意味着可以从头到尾地访问数据,但通常不支持直接访问流的中间部分。流可以是同步的或异步的,取决于如何使用它们。

2. 文件流(FileStream)

FileStream 类是 System.IO 命名空间下的一个类,它用于文件的字节级操作。可以使用 FileStream 来读取、写入、打开或创建文件。FileStream 提供了同步和异步的读写方法,以及用于控制文件访问(如只读、只写、读写)和共享(如独占访问、共享访问)的选项。

示例代码(创建和写入文件)
using System;
using System.IO;
using System.Text;class Program
{static void Main(){string filePath = "example.txt";string content = "Hello, World!";using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)){byte[] bytes = Encoding.UTF8.GetBytes(content);fs.Write(bytes, 0, bytes.Length);}Console.WriteLine("文件创建和内容写入.");}
}

3. 字节流

在 C# 中,当提到字节流时,通常指的是能够按字节读写数据的流,如 FileStream。字节流非常适合于处理二进制文件,如图片、音频或视频文件,以及那些需要精确控制文件内容的场景。

4. 文件夹操作

文件夹(或称为目录)操作允许创建、删除、移动和枚举文件夹及其内容。C# 中的 Directory 类和 DirectoryInfo 类提供了丰富的静态和实例方法来执行这些操作。

示例代码(创建文件夹)
using System;
using System.IO;class Program
{static void Main(){string folderPath = "NewFolder";if (!Directory.Exists(folderPath)){Directory.CreateDirectory(folderPath);Console.WriteLine("Folder created.");}else{Console.WriteLine("Folder already exists.");}}
}
示例代码(枚举文件夹中的文件)
using System;
using System.IO;class Program
{static void Main(){string folderPath = @"C:\path\to\your\folder";string[] files = Directory.GetFiles(folderPath);foreach (string file in files){Console.WriteLine(file);}}
}

通过这些基本的文件和文件夹操作,可以在 C# 应用程序中执行复杂的文件处理任务。记得在使用完文件或文件夹资源后,适当地关闭它们以释放资源。在上面的示例中,using 语句用于自动关闭 FileStream,这是一种很好的做法。


http://www.mrgr.cn/news/43652.html

相关文章:

  • 查缺补漏----IP通信过程
  • Linux下静态库与动态库制作及分文件编程
  • SQL专项练习第三天
  • allegro精确画圆形边框
  • Perl 子程序(函数)
  • SQL Server—T-sql函数详解
  • CXO、CRO、CMO、CDMO相关概念
  • 开源的云平台有哪些?
  • 【分布式微服务云原生】探索Redis:数据结构的艺术与科学
  • 预算有限也能玩转 AI:香橙派、树莓派与 Jetson 的选择攻略
  • 设备之间的通信方式
  • 如何在 SQL 中插入一条新记录 ?
  • InnoDB 磁盘结构 - RedoLog
  • Abstract Factory(抽象工厂模式)
  • 多模态理论基础——什么是多模态?
  • VSCode debug模式无法跳转进入内置模块
  • STM32中断编程指南:NVIC和中断优先级
  • unity ps 2d animation 蛇的制作
  • VUE2常见问题以及解决方案汇总(不断更新中)
  • 查缺补漏----同步,异步,半同步,分离式通信