C#的Directory类如何管理文件夹?

来源:程序开发作者:北京SEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《C#的Directory类如何管理文件夹?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《C#的Directory类如何管理文件夹?》有用,将其分享出去将是对创作者最好的鼓励。

在C#的System.IO命名空间下,Directory类是一组用于操作文件夹的静态方法集合,不需要创建实例就可以直接调用方法完成文件夹的各类管理操作,覆盖了日常开发中绝大多数文件夹相关的需求。

C#的Directory类如何管理文件夹?

Directory类的基础使用前提

使用Directory类之前,需要先引入对应的命名空间,否则编译器会提示找不到该类。引入方式如下:

using System.IO;

常见文件夹管理操作实现

1. 判断文件夹是否存在

在进行文件夹操作前,通常需要先判断目标文件夹是否存在,避免操作出现异常。可以使用Directory.Exists方法实现,该方法接收一个文件夹路径字符串作为参数,返回布尔值表示文件夹是否存在。

string folderPath = @"D:TestFolder";
// 判断文件夹是否存在
bool isExist = Directory.Exists(folderPath);
if (isExist)
{
    Console.WriteLine("文件夹已存在");
}
else
{
    Console.WriteLine("文件夹不存在");
}

2. 创建文件夹

当目标文件夹不存在时,可以使用Directory.CreateDirectory方法创建文件夹,该方法支持创建多级不存在的目录,不需要手动逐层创建父目录。

string newFolderPath = @"D:TestFolderSubFolderChildFolder";
// 创建文件夹,如果路径中的父目录不存在会自动创建
Directory.CreateDirectory(newFolderPath);
Console.WriteLine("文件夹创建成功");

3. 删除文件夹

删除文件夹可以使用Directory.Delete方法,该方法有两个重载版本,一个只接收文件夹路径,要求文件夹必须为空才能删除;另一个接收路径和一个布尔值,布尔值为true时表示递归删除文件夹及其所有内容。

string deleteFolderPath = @"D:TestFolderSubFolder";
// 递归删除文件夹及其所有子文件和子文件夹
Directory.Delete(deleteFolderPath, true);
Console.WriteLine("文件夹删除成功");

4. 移动文件夹

移动文件夹可以使用Directory.Move方法,该方法接收两个参数,第一个是源文件夹路径,第二个是目标文件夹路径,移动后原路径的文件夹将不存在。

string sourcePath = @"D:TestFolder";
string targetPath = @"D:NewTestFolder";
// 移动文件夹到新路径
Directory.Move(sourcePath, targetPath);
Console.WriteLine("文件夹移动成功");

5. 获取文件夹下的内容

Directory类提供了多个方法用于获取文件夹下的子文件夹和文件,常用的有以下几个:

  • Directory.GetDirectories:获取指定路径下的所有子文件夹路径
  • Directory.GetFiles:获取指定路径下的所有文件路径
  • Directory.GetFileSystemEntries:获取指定路径下的所有文件和子文件夹路径

以下是获取指定文件夹下所有文件的示例代码:

string targetFolder = @"D:TestFolder";
// 获取文件夹下的所有文件,支持通配符筛选,这里获取所有txt文件
string[] files = Directory.GetFiles(targetFolder, "*.txt");
foreach (string file in files)
{
    Console.WriteLine("找到文件:" + file);
}

使用Directory类的注意事项

在使用Directory类进行文件夹操作时,需要注意以下几点避免程序出现异常:

  • 操作文件夹时需要确保程序有足够的权限访问目标路径,否则会抛出UnauthorizedAccessException异常
  • 删除文件夹时如果选择递归删除,操作不可逆,建议删除前先做好备份或者二次确认
  • 路径字符串可以使用绝对路径,也可以使用相对路径,相对路径是相对于程序运行目录的路径
  • 如果操作的文件夹路径包含非法字符,会抛出ArgumentException异常,需要提前校验路径合法性
Directory类的方法都是静态方法,调用时不需要实例化对象,适合快速完成单次文件夹操作,如果需要频繁操作同一个文件夹,也可以考虑使用DirectoryInfo类,该类需要创建实例,提供了更多实例化的操作属性。

C#Directory类文件夹管理IO操作修改时间:2026-07-09 00:48:28

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。