news 2026/4/22 23:03:19

3.5 Directory

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.5 Directory

1.Directory常用方法

2.将文件夹A的内容拷贝到文件夹B


1.Directory常用方法

a.Directory.CreateDirectory()作用:创建指定路径的目录,若路径中父目录不存在则自动递归创建(比如创建C:\a\b\c,即使a、a\b不存在,也会一次性 创建)参数:目录的完整路径(string)
// 示例:创建单层/多层目录stringsingleDir=@"C:\test_single_dir";stringmultiDir=@"C:\test_multi_dir\sub1\sub2";// 创建单层目录Directory.CreateDirectory(singleDir);Console.WriteLine($"单层目录{singleDir}创建完成");// 创建多层目录(父目录不存在时自动创建)Directory.CreateDirectory(multiDir);Console.WriteLine($"多层目录{multiDir}创建完成");

b.Directory.Exists()作用:检查指定路径的目录是否存在,返回bool值 参数:目录路径(string)
stringcheckDir=@"C:\test_single_dir";if(Directory.Exists(checkDir)){Console.WriteLine($"目录{checkDir}存在");}else{Console.WriteLine($"目录{checkDir}不存在,即将创建...");Directory.CreateDirectory(checkDir);}

c.Directory.Delete()作用:删除指定目录,支持仅删空目录或递归删除所有子目录/文件 重载:Delete(stringpath):仅删除空目录,目录非空则抛异常Delete(stringpath,boolrecursive):recursive=true,递归删除目录及所有子目录/文件
stringemptyDir=@"C:\test_single_dir";stringnonEmptyDir=@"C:\test_multi_dir";// 删除空目录if(Directory.Exists(emptyDir)){Directory.Delete(emptyDir);Console.WriteLine($"空目录{emptyDir}已删除");}// 递归删除非空目录(含子目录/文件)if(Directory.Exists(nonEmptyDir)){Directory.Delete(nonEmptyDir,true);Console.WriteLine($"非空目录{nonEmptyDir}已递归删除");}

d.Directory.GetFiles()作用:获取目录下的所有文件,支持指定搜索模式(如*.txt)、是否搜索子目录
stringrootDir=@"C:\test_files_dir";Directory.CreateDirectory(rootDir);// 创建测试文件File.WriteAllText(Path.Combine(rootDir,"file1.txt"),"");File.WriteAllText(Path.Combine(rootDir,"file2.jpg"),"");// 创建子目录并写入文件stringsubDir=Path.Combine(rootDir,"sub");Directory.CreateDirectory(subDir);File.WriteAllText(Path.Combine(subDir,"file3.txt"),"");// 1. 获取根目录下所有文件(仅当前目录)string[]allFiles=Directory.GetFiles(rootDir);Console.WriteLine("根目录下的所有文件:");foreach(varfileinallFiles)Console.WriteLine(file);// 2. 获取根目录下所有.txt文件(仅当前目录)string[]txtFiles=Directory.GetFiles(rootDir,"*.txt");Console.WriteLine("\n根目录下的.txt文件:");foreach(varfileintxtFiles)Console.WriteLine(file);// 3. 递归获取所有.txt文件(含子目录)string[]allTxtFiles=Directory.GetFiles(rootDir,"*.txt",SearchOption.AllDirectories);Console.WriteLine("\n所有目录下的.txt文件(含子目录):");foreach(varfileinallTxtFiles)Console.WriteLine(file);// 清理Directory.Delete(rootDir,true);

e.Directory.GetDirectories()作用:获取目录下的所有子目录路径
stringrootDir=@"C:\test_subdirs\a\b";Directory.CreateDirectory(rootDir);// 获取根目录下的直接子目录string[]subDirs=Directory.GetDirectories(@"C:\test_subdirs");Console.WriteLine("直接子目录:");foreach(vardirinsubDirs)Console.WriteLine(dir);// 清理Directory.Delete(@"C:\test_subdirs",true);

f.枚举目录/文件;EnumerateDirectories()/EnumerateFiles()
stringbigDir=@"C:\test_big_dir";Directory.CreateDirectory(bigDir);// 模拟创建1000个文件for(inti=0;i<1000;i++){File.WriteAllText(Path.Combine(bigDir,$"file{i}.txt"),"");}// 枚举文件(逐个加载,内存占用低)Console.WriteLine("枚举所有.txt文件(前10个):");intcount=0;foreach(varfileinDirectory.EnumerateFiles(bigDir,"*.txt")){if(count<10)Console.WriteLine(file);count++;}// 清理Directory.Delete(bigDir,true);

2.将文件夹A的内容拷贝到文件夹B

publicstaticboolCopyDirectory(stringsourceDir,stringtargetDir,booloverwrite=true,Action<string>onProgress=null){try{varsource=newDirectoryInfo(sourceDir);vartarget=newDirectoryInfo(targetDir);if(!source.Exists)returnfalse;target.Create();// 拷贝文件foreach(FileInfofileinsource.GetFiles()){stringdestPath=Path.Combine(target.FullName,file.Name);onProgress?.Invoke($"拷贝文件:{file.Name}");file.CopyTo(destPath,overwrite);}// 递归子目录foreach(DirectoryInfosubDirinsource.GetDirectories()){stringdestSubDir=Path.Combine(target.FullName,subDir.Name);CopyDirectory(subDir.FullName,destSubDir,overwrite,onProgress);}returntrue;}catch(Exceptionex){onProgress?.Invoke($"错误:{ex.Message}");returnfalse;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 4:57:04

深度测评9个AI论文工具,自考本科毕业论文轻松搞定!

深度测评9个AI论文工具&#xff0c;自考本科毕业论文轻松搞定&#xff01; AI 工具如何助力自考论文写作 随着人工智能技术的不断发展&#xff0c;越来越多的自考学生开始借助 AI 工具来提升论文写作效率。尤其是在面对繁重的学术任务时&#xff0c;AI 工具不仅能有效降低 AIGC…

作者头像 李华
网站建设 2026/4/22 17:28:00

AI营销服务商榜单:原圈科技如何引爆2026车企增长?

原圈科技在AI营销领域被普遍视为值得关注的全周期解决方案提供商。面对车企从创意、投放到转化的系统性效率难题,其通过整合"智能体矩阵"与公私域数据的能力,在打通营销全链路上表现突出,旨在为企业构建可进化的营销智能体,实现增长。决胜2026&#xff1a;5家AI营销服…

作者头像 李华
网站建设 2026/4/17 4:00:17

中国人民大学打造AI创意写作新帮手:让机器既聪明又有想象力

创意写作一直是人类独有的艺术天赋&#xff0c;但随着人工智能的快速发展&#xff0c;机器是否也能拥有创造力成为了一个引人深思的话题。最近&#xff0c;中国人民大学联合快手科技的研究团队发表了一项突破性研究&#xff0c;他们开发出了一个名为DPWriter的AI写作系统&#…

作者头像 李华
网站建设 2026/4/22 19:46:42

游戏外包开发的上线

对于游戏外包开发&#xff0c;“上线”不仅是一个简单的发布动作&#xff0c;它是从开发交付到市场运营的关键转折点。在2026年的市场与技术环境下&#xff0c;游戏外包上线通常涉及以下五个关键阶段&#xff1a;1. 验收与质量交付在正式上线前&#xff0c;你需要确保外包团队交…

作者头像 李华
网站建设 2026/4/21 13:29:57

企业内部Wiki,让知识不再流于表面,让企业管理更加高效

企业内部Wiki是一种基于Wiki技术的内部知识管理平台&#xff0c;通常由企业自行搭建和维护&#xff0c;用于收集和整理企业内部的知识、经验和流程等信息。它可以帮助企业实现知识共享、协作和沟通&#xff0c;提高工作效率和团队协作能力。企业内部Wiki还可以作为企业文化建设…

作者头像 李华
网站建设 2026/4/17 15:45:07

如何操作双极板材料四探针低阻测试仪?

如何操作双极板材料四探针低阻测试仪&#xff1f;操作双极板材料四探针低阻测试仪的关键在于规范流程和细节把控&#xff0c;我来帮你梳理核心步骤&#xff1a;一、操作前准备 样品处理‌确保双极板材料表面平整、无氧化层或污染物&#xff0c;必要时用酒精或超声波清洗。 测量…

作者头像 李华