C#文件夹操作-Directory和DirectoryInfo的区别,使用
文件夹操作类用于操作文件夹,可以完成创建,复制,移动,重命名,删除目录等操作。
Directory类和DirectoryInfo类都是C#提供的用于操作文件夹的类,Directory类和File一样,所有的方法都是静态的。而DirectoryInfo类是普通类。
选择Directory类还是DirectoryInfo类的规则与File和FileInfo的规则相同:
如果只执行一个操作,选择DirectoryInfo类,Directory类的静态方法对所有方法执行安全检查。
-
Directory,静态类,不可实例化
//删除此目录 Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夹") //删除此目录,true表示要是此目录有子目录也删除,否则就抛出异常 Directory.Delete(@"C:\Users\Administrator\Desktop\新建文件夹", false); //此目录是否存在 bool b =Directory.Exists(@"C:\Users\Administrator\Desktop\新建文件夹"); //根据路径返回此目录下的子目录 string[] dirs1 = Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夹"); //第二个参数表示:搜索的范围,就是搜索的文件夹包含“基础”关键字 string[]dirs2 =Directory.GetDirectories(@"C:\Users\Administrator\Desktop\新建文件夹","*.mp3"); //搜索目录下的所有文件 string[]files =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夹"); //第三个参数表示:指定搜索操作应包括所有子目录还是仅包括当前目录。 string[]files1 =Directory.GetFiles(@"C:\Users\Administrator\Desktop\新建文件夹","2.txt",SearchOption.AllDirectories); ///移动、剪切。只能在同一个磁盘中。目录没有Copy方法。可以使用Move()方法实现重命名。 Directory.Move(@"F:\测试\33",@"F:\测试\32\33");
Directory是位于System.IO的,需在代码开头引用System.IO 的命名空间:
using System.IO;
-
DirectoryInfo:文件夹的一个“类”
用来描述一个文件夹对象(获取指定目录下的所有目录时返回一个DirectoryInfo数组)
string load = @"D:\桌面文件\笔记\我的笔记\"; DirectoryInfo info = new DirectoryInfo(load); //获取文件夹创建时间 DateTime time = info.CreationTime; Console.WriteLine(time); //获取文件夹后缀名 string str = info.Extension; Console.WriteLine(str); //FullName:获取全路径 str = info.FullName; Console.WriteLine(str); //Parent:获取指定文件夹的父文件 DirectoryInfo info2 = info.Parent; Console.WriteLine(info2.Name); //Root:获取指定文件夹的根目录 DirectoryInfo info3 = info.Root; Console.WriteLine(info3); //CreateSubdirectory:创建一个新的文件夹 info.Parent.CreateSubdirectory("我刚新建的"); //GetDirectories:获取指定目录中子目录的名称 string[] strlist = Directory.GetDirectories(@"D:\桌面文件"); for (int i = 0; i < strlist.Length; i++) { Console.WriteLine(strlist[i]); } //GetCurrentDirectory:获取应用程序的当前文件目录 string str2 = Directory.GetCurrentDirectory(); Console.WriteLine(str2); //GetDirectoryRoot:获取指定目录中所有子目录的根目录 str2 = Directory.GetDirectoryRoot(@"D:\桌面文件"); Console.WriteLine(str2); Console.ReadLine();
转载:
C#文件夹操作-Directory和DirectoryInfo有什么区别 - 流星落 - 博客园 (cnblogs.com)
C#文件夹操作之Directory类和DirectoryInfo类_Survivor_lll的博客-CSDN博客_directoryinfo
本文来自博客园,作者:wangwangwangMax,转载请注明原文链接:https://www.cnblogs.com/wangwangwangMax/p/16051232.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix