C# Directoryinfo类:文件夹操作
作者:互联网
C# Directoryinfo类:文件夹操作
在 C# 语言中 Directory 类和 Directoryinfo 类都是对文件夹进行操作的。DirectoryInfo 类能创建该类的实例,通过类的实例访问类成员。DirectoryInfo 类提供了一个构造方法,语法形式如下。
DirectoryInfo(string path)
例如创建路径为 D 盘中的 test 文件夹的实例,代码如下。
DirectoryInfo directoryInfo =
new DirectoryInfo("D:\\test");
DirectoryInfo 类中常用的属性和方法如下图所示。
例子1:
using System;
using System.IO;
namespace MySpcae
{
class Program
{
static void Main(string[] args)
{
//创建路径为E盘中的test文件夹
DirectoryInfo directoryInfo = new DirectoryInfo("E:\\test");
//创建目录
directoryInfo.Create();
//在指定的目录上创建一个或多个子目录
directoryInfo.CreateSubdirectory("test01");
directoryInfo.CreateSubdirectory("test02");
Console.ReadKey();
}
}
}
运行后会得到一个文件夹test,和其下的test01和test02。
例子2:
using System;
using System.IO;
using System.Collections.Generic;
namespace MySpace
{
class Program
{
static void Main(string[] args)
{
//创建了一个路径为E盘下的test文件夹的实例对象
DirectoryInfo directoryInfo = new DirectoryInfo("E:\\test");
//返回当前目录中目录信息的可枚举集合
IEnumerable<DirectoryInfo> dir = directoryInfo.EnumerateDirectories();
//遍历集合
//var在方法范围内声明的变量可以具有隐式“类型”
foreach (var v in dir)
{
Console.WriteLine(v.Name);
}
Console.ReadKey();
}
}
}
运行结果:
EnumerateDirectories 方法只用于检索文件夹,不能检索文件。
例子3:
我在test01的test02中分别创建一个word文档,然后运行下面的代码
using System;
using System.IO;
namespace MySpace
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo directoryInfo = new DirectoryInfo(@"E:\test");
//指定是否删除子目录和文件,
//如果 recursive 参数的值为 True,则删除,否则不删除
directoryInfo.Delete(true);
}
}
}
运行后E盘下的test文件夹被删除掉了。
小结:
需要注意的是,如果要删除一个非空文件夹,则要使用 Delete(True) 方法将文件夹中的文件一并删除,否则会岀现“文件夹不为空”的异常。
标签:directoryInfo,DirectoryInfo,C#,System,Directoryinfo,文件夹,test,using 来源: https://blog.csdn.net/weixin_50188452/article/details/115022035