Directory 与 DirectoryInfo 的区别

Directory和DirectoryInfo都是用于操作文件夹(目录)的类,它们的主要区别在于使用方式和功能。

1. 使用方式

Directory是静态类,使用它的方法时不需要实例化。

DirectoryInfo是需要实例化后使用的类。

示例代码:

```csharp

//使用Directory类

Directory.CreateDirectory(@"D:\test");//创建test文件夹

string[] files = Directory.GetFiles(@"D:\test");//获取文件夹中的所有文件

foreach (string file in files)

{

Console.WriteLine(file);//输出文件名

}

//使用DirectoryInfo类

DirectoryInfo di = new DirectoryInfo(@"D:\test");//创建DirectoryInfo实例

di.Create();//创建test文件夹

FileInfo[] fis = di.GetFiles();//获取文件夹中的所有文件

foreach (FileInfo fi in fis)

{

Console.WriteLine(fi.Name);//输出文件名

}

```

2. 功能

Directory类的主要功能是提供了一系列用于操作文件夹的静态方法,包括创建、移动、删除、获取文件夹中的所有文件等。

DirectoryInfo类也提供了一系列用于操作文件夹的实例方法,和Directory类相比,它提供了更多的功能,并且更加易于操作,比如获取文件夹的创建时间、最后修改时间、访问权限等。

示例代码:

```csharp

//使用Directory类

Directory.CreateDirectory(@"D:\test");//创建test文件夹

Directory.Move(@"D:\test",@"E:\test");//移动test文件夹到E盘

Directory.Delete(@"E:\test");//删除test文件夹

//使用DirectoryInfo类

DirectoryInfo di = new DirectoryInfo(@"D:\test");//创建DirectoryInfo实例

di.Create();//创建test文件夹

di.MoveTo(@"E:\test");//移动test文件夹到E盘

di.Delete();//删除test文件夹

Console.WriteLine(di.CreationTime);//输出test文件夹创建时间

Console.WriteLine(di.LastWriteTime);//输出test文件夹最后修改时间

```

总结:

Directory类和DirectoryInfo类都是用于操作文件夹的类,在使用时需要根据实际情况来选择使用哪个类。

如果只是简单的创建、移动、删除文件夹和获取文件夹中的所有文件,可以使用Directory类;如果需要更多的文件夹操作,比如获取文件夹的创建时间、最后修改时间、访问权限等,建议使用DirectoryInfo类。

同时,我们可以根据实际需求,灵活地组合Directory和DirectoryInfo的方法,来完成文件夹的操作。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(6) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部