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

C#从入门到精通(20)—C#目录类Directory用法总结

在这里插入图片描述

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!人工智能学习网站

前言:

大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#程序的过程中经常需要对文件夹进行处理,本文就来详细介绍。

1、创建目录

  string path = "d:\\test\\dir";Directory.CreateDirectory(path); //创建一个新的目录。如果目录的上级目录不存在,则也会创建上级目录;如果目录已经存在则啥也不干

2、删除目录

删除目录时,这里第二个参数指示是否删除目录的子目录,如果该参数值为true,则删除子目录,否组仅当目录为空时才删除目录。

 bool recursive = true;//是否递归处理Directory.Delete(path, recursive);

3、判断目录是否存在

  if (Directory.Exists(path))//确定目录是否存在。{Console.WriteLine($"目录已存在");}else{Console.WriteLine($"目录不存在");}

4、获取子目录名称

string[] subDirectories = Directory.GetDirectories(path);// 返回指定目录中的子目录名称的数组

5、获取目录下所有文件名称

  string[] subFiles = Directory.GetFiles(path); //返回指定目录中的文件名称的数组

6、移动目录

 string newPath = "d:\\test2";Directory.Move(path, newPath); //将指定的目录及其所有子目录和文件移动到新位置。

7、返回指定目录的创建时间

DateTime datetimeCreate = Directory.GetCreationTime(path);// 返回指定目录的创建时间。

8、返回上次访问指定目录的时间

实际测试发现当我们新建文件、重命名文件、修改文件内容、删除文件内容时会更新这个属性

DateTime datetimeAccess = Directory.GetLastAccessTime(path);

9、返回上次写入指定目录的时间

实际测试发现当我们新建文件、重命名文件、修改文件内容、删除文件内容时会更新这个属性

DateTime datetimeWrite = Directory.GetLastWriteTime(path); 

10、返回指定路径的父目录信息

所谓父目录也就是上层目录的信息。

DirectoryInfo directoryInfo = Directory.GetParent(path);

11、查找子目录名称的前两个名称是“板号”,第三个名称任意字符

就比如dir文件夹下的“板号_”这个文件夹,由于板号后面跟了一个字符"",这就符合要求,所以可以被找到,这里的?代表的就是任意字符。
D:\Test\dir\板号

   string[] dirs = Directory.EnumerateDirectories(path, "板号?").ToArray();

12、查找子目录名称的前两个名称是“板号”,后面的名称任意长度和名字

就比如dir文件夹下的“板号_”、“板号123”这两个文件夹都是以“板号”作为开头,所以满足条件,这里的*代表的就是任意长度任意名字的字符。
D:\Test\dir\板号_
D:\Test\dir\板号123

 string[] dirs2 = Directory.EnumerateDirectories(path, "板号*").ToArray();

13、查找文件名的前两个名称是“板号”,第三个名称任意

上面的介绍是查找满足特定条件的目录,这里的EnumerateFiles是查找满足特定条件的文件名,这里指的是文件名以“板号开头”第三个字符为任意字符的文件

 string[] filess = Directory.EnumerateFiles(path, "板号?.txt").ToArray();

14、查找文件名的前两个名称是“板号”,后面的名称任意长度和名字

上面的介绍是查找满足特定条件的目录,这里的EnumerateFiles是查找满足特定条件的文件名,这里指的是文件名以“板号开头”后面的字符为任意字符的文件

 string[] files2 = Directory.EnumerateFiles(path, "板号*").ToArray();

作者介绍

马工2017年硕士毕业,一直从事上位机软件开发工作,在我工作的第四年年薪突破了40万+,为了帮助跟我一样从底层出身的上位机软件工程师早日达到高级工程师的水平,早日找到30万+的工作,我根据多年项目经验,总结出了一系列可直接用于项目的C#上位机实战教程推荐给大家,目前在CSDN已经超过一千人订阅,如果你不甘贫庸,想像我一样早日拿到高薪,马工强烈推荐你早日学这套教程,雷军曾说这个世界上有99%的问题别人都遇到过,你要做的不是闷头干!而是找这个领域的专家问一下,这是最快速提升自己的方法!

年入30万+C#上位机实战必备教程推荐(点击下方链接即可访问文章)

1、《C#串口通信从入门到精通》
2、《C#与PLC通信从入门到精通 》
3、《C# Modbus通信从入门到精通》
4、《C#Socket通信从入门到精通 》
5、《C# MES通信从入门到精通》
6、《winform控件从入门到精通》

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 苹果秋季发布会前瞻:iPhone 16领衔新品盛宴
  • Redis | 非关系型数据库Redis的初步认识
  • HTML粒子爱心
  • CSS 中处理文本溢出并隐藏它
  • linux 上传文件报错 -bash: rz:command not found
  • 九盾安防提供的叉车警报灯蜂鸣器
  • Oracle 11g RAC to 11g RAC ADG部署搭建
  • 低代码用户中心的构建与应用
  • XSS漏洞
  • git两个不存在共基的分支无法合并的问题解决方法
  • 内存管理1
  • Redis_AOF持久化
  • 分支结构的本质
  • Leetcode11. 盛最多水的容器
  • 约 数之和
  • php的引用
  • SegmentFault for Android 3.0 发布
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular 响应式表单 基础例子
  • Git 使用集
  • javascript面向对象之创建对象
  • 闭包--闭包作用之保存(一)
  • 初识MongoDB分片
  • 关于for循环的简单归纳
  • 技术胖1-4季视频复习— (看视频笔记)
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 我的业余项目总结
  • 线性表及其算法(java实现)
  • 携程小程序初体验
  • 一道面试题引发的“血案”
  • 原生 js 实现移动端 Touch 滑动反弹
  • scrapy中间件源码分析及常用中间件大全
  • 翻译 | The Principles of OOD 面向对象设计原则
  • $.ajax,axios,fetch三种ajax请求的区别
  • (1)Android开发优化---------UI优化
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (pojstep1.3.1)1017(构造法模拟)
  • (二)测试工具
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)OpenStack Hacker养成指南
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET COER+CONSUL微服务项目在CENTOS环境下的部署实践
  • .NET Core 成都线下面基会拉开序幕
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET多线程执行函数
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复