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

C# DirectoryInfo类的用法

在这里插入图片描述

在C#中,DirectoryInfo类是System.IO命名空间中的一个类,用于操作文件夹(目录)。通过DirectoryInfo类,我们可以方便地创建、删除、移动和枚举文件夹。本文将详细介绍DirectoryInfo类的常用方法和属性,并提供相应的代码示例。

目录

    • 创建DirectoryInfo实例
    • 常用方法
      • Create()
      • Delete()
      • MoveTo(string destDirName)
      • GetDirectories()
      • GetFiles()
    • 常用属性
      • FullName
      • Name
      • Parent
      • Exists
    • 完整示例
    • 总结
    • 参考资料


在这里插入图片描述

创建DirectoryInfo实例

要使用DirectoryInfo类,首先需要创建一个DirectoryInfo实例。可以通过以下两种方式来创建:

  1. 使用构造函数创建
string path = "C:\\myFolder";
DirectoryInfo di = new DirectoryInfo(path);

通过指定文件夹路径来创建一个DirectoryInfo对象。

  1. 使用静态方法获取
DirectoryInfo di = new DirectoryInfo(@"C:\myFolder");

直接使用静态方法Directory.CreateDirectory()来获取一个DirectoryInfo对象。


常用方法

下面是DirectoryInfo类的常用方法:

Create()

创建文件夹

di.Create();

可以使用Create()方法来创建一个新的文件夹。如果文件夹已经存在,该方法不会抛出异常。

Delete()

删除文件夹

di.Delete();

使用Delete()方法可以删除指定的文件夹。该方法将删除目标文件夹及其所有子文件夹和文件。如果目标文件夹不存在,则该方法不会抛出异常。

MoveTo(string destDirName)

移动文件夹

di.MoveTo("D:\\newFolder");

使用MoveTo()方法可以将文件夹移动到指定的目录中。目标目录必须不存在,否则将抛出异常。

GetDirectories()

获取子文件夹列表

DirectoryInfo[] subDirs = di.GetDirectories();
foreach (DirectoryInfo subDir in subDirs)
{Console.WriteLine(subDir.Name);
}

使用GetDirectories()方法可以获取当前文件夹下所有的子文件夹。该方法返回一个DirectoryInfo对象数组,可以通过遍历数组来访问每个子文件夹。

GetFiles()

获取文件列表

FileInfo[] files = di.GetFiles();
foreach (FileInfo file in files)
{Console.WriteLine(file.Name);
}

使用GetFiles()方法可以获取当前文件夹下的所有文件。该方法返回一个FileInfo对象数组,可以通过遍历数组来访问每个文件。


常用属性

下面是DirectoryInfo类的常用属性:

FullName

获取文件夹的完整路径

string folderPath = di.FullName;
Console.WriteLine(folderPath);

使用FullName属性可以获取文件夹的完整路径,包括文件夹的根目录。

Name

获取文件夹的名称

string folderName = di.Name;
Console.WriteLine(folderName);

使用Name属性可以获取文件夹的名称。

Parent

获取文件夹的父级目录

DirectoryInfo parentFolder = di.Parent;
Console.WriteLine(parentFolder.Name);

使用Parent属性可以获取文件夹的父级目录,返回一个DirectoryInfo对象。

Exists

判断文件夹是否存在

if (di.Exists)
{Console.WriteLine("文件夹存在");
}
else
{Console.WriteLine("文件夹不存在");
}

使用Exists属性可以判断文件夹是否存在,返回一个布尔值。


完整示例

using System;
using System.IO;namespace DirectoryInfoDemo
{class Program{static void Main(string[] args){string path = @"C:\myFolder";DirectoryInfo di = new DirectoryInfo(path);// 创建文件夹di.Create();// 移动文件夹di.MoveTo("D:\\newFolder");// 获取子文件夹列表DirectoryInfo[] subDirs = di.GetDirectories();foreach (DirectoryInfo subDir in subDirs){Console.WriteLine(subDir.Name);}// 获取文件列表FileInfo[] files = di.GetFiles();foreach (FileInfo file in files){Console.WriteLine(file.Name);}// 获取文件夹的完整路径string folderPath = di.FullName;Console.WriteLine(folderPath);// 获取文件夹的名称string folderName = di.Name;Console.WriteLine(folderName);// 获取文件夹的父级目录DirectoryInfo parentFolder = di.Parent;Console.WriteLine(parentFolder.Name);// 判断文件夹是否存在if (di.Exists){Console.WriteLine("文件夹存在");}else{Console.WriteLine("文件夹不存在");}}}
}

总结

通过DirectoryInfo类,我们可以轻松地创建、删除、移动和枚举文件夹。本文详细介绍了DirectoryInfo类的常用方法和属性,并提供了相应的代码示例。希望本文对你有所帮助!如果有任何问题,请随时留言。

参考资料

  • Microsoft Docs - DirectoryInfo Class
http://www.lryc.cn/news/228181.html

相关文章:

  • IDEA常用快捷键大全(详解)
  • 设计模式之解释器模式
  • 粉够荣获淘宝联盟区域理事会常务理事,携手共铸淘客新生态
  • Python爬虫是否合法?
  • 3.2 IDAPro脚本IDC常用函数
  • 用python将csv表格数据做成热力图
  • 【程序基础】递归法
  • AI 绘画 | Stable Diffusion WebUI的基本设置和插件扩展
  • 如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试
  • rabbitmq启动异常解决
  • OpenGL_Learn08(坐标系统与3D空间)
  • github私有仓库开发,公开仓库发布版本
  • 绿色低碳 数字未来-辽宁省建筑电气2023年学术年会-安科瑞 蒋静
  • day55
  • 如何安装Node.js? 创建Vue脚手架
  • ASP.NETWeb开发(C#版)-day1-C#基础+实操
  • LGSVL Python API 使用
  • 详解数据仓库之拉链表(原理、设计以及在Hive中的实现)
  • 使用Nodejs搭建简单的web网页并实现公网访问
  • C++学习第三十七天----第十章--对象和类
  • TikTok影响力经济:解锁社交媒体的商业机遇
  • 燃气管网监测系统|全面保障燃气安全
  • 第三章:人工智能深度学习教程-基础神经网络(第六节-ML深度学习层列表)
  • 福建科立讯通信 指挥调度管理平台RCE漏洞复现
  • 性能测试:Jenkins+Ant+Jmeter自动化框架的搭建方法
  • 【开源项目】snakeflow流程引擎研究
  • 11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)
  • AI脑控机器人应用前景如何?
  • Apache和Nginx实现虚拟主机的3种方式
  • 【DP】背包问题全解