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

news2024/12/27 11:44:15

在这里插入图片描述

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

前言:

大家好,我是上位机马工,硕士毕业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控件从入门到精通》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2083440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【硬核】开源的高性能轻量级ORM框架

简介 easy-orm是一款简洁、轻量高效的数据库对象关系映射框架,它的代码编写规范基于SQL语义,学习成本低,可以快速掌握。 下图是与业界mybatis-plus框架相比。 功能mybatis-pluseasy-orm单表CRUD√√多表CRUD√子查询x√多数据源√预编译√…

一文带你深度了解FreeRTOS信号量——二值信号量

本篇文章深度讲述FreeRTOS信号量——二值信号量的知识,希望我的分享对你有所帮助! 关于FreeRTOS信号量的相关介入,大家可以参考一下这篇文章: 一文带你初探FreeRTOS信号量_freertos 二进制信号量-CSDN博客 目录 一、二值信号量简…

25届最近5年自动化考研院校分析

哈尔滨工程大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、初试大纲复试大纲 七、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定…

顺序结构就是“千里走单骑”

顺序结构&#xff0c;就是把工作分成若干个步骤&#xff0c;然后让计算机按步骤依次执行。 对于代码而言&#xff0c;顺序结构就是从上到下依次执行每一条语句。 #include<stdio.h>int main(){//The steps of putting an elephant into the fridge.printf("First,…

【Python知识宝库】掌握列表与元组,轻松处理数据集合

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 在Python编程中&#xff0c;列表&#xff08;List&#xff09;和元组&#xff08;Tuple&#xff09;是两种非常基础且强大…

Unity实战案例 2D小游戏HappyGlass(游戏管理类脚本)

本案例素材和教程都来自Siki学院&#xff0c;十分感谢教程中的老师 本文仅作学习笔记分享交流&#xff0c;不作任何商业用途 基础效果 游戏管理脚本 using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using Uni…

FineBI修改地图配置

前言 在使用FineBI绘制地图时&#xff0c;有时候我们可能发现FineBI中的默认地图模型不是最新的&#xff0c;导致某些地区的区域地图与现实不一致&#xff0c;比如说FineBI的默认地图中深圳地图没有大鹏新区&#xff0c;并且将现在大鹏新区的地方标记为了龙华区&#xff0c;为…

Leetcode19删除链表的倒数第K个节点(java实现)

今天分享的题目如下&#xff1a; 说一下我们的解题思路&#xff1a;我们要想删除第k个节点&#xff0c;那么指针必须落在k-1节点上&#xff0c;比如我们想要操作题目中的节点4&#xff0c;那么指针必须落在节点3&#xff0c;然后让节点3.next 3.next.next即可。 所以明白了这个…

【精选】计算机毕业设计之:基于springboot汽车租赁系统

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

推荐3款免费的数据恢复软件,从此再也不怕数据丢失

Handy Recovery Handy Recovery是一款功能强大且易于使用的数据恢复软件&#xff0c;能够帮助用户恢复因误删、病毒攻击、系统崩溃等原因丢失的数据。该软件支持多种文件系统&#xff0c;包括FAT12/16/32、NTFS、NTFS5以及HFS等。它不仅可以从硬盘、闪存驱动器、U盘等设备中恢复…

Linux学习(13)计算机网络基础概论

本节学习内容 1.网络的基本概念&#xff08;网络、互联网、IP地址、MAC地址、常用网络协议&#xff09; 2.网络分层模型&#xff08;OS的7层模型与tcp/ip协议族体系4层结构、数据链路层、网络层、传输层、应用层&#xff09; 3.网络应用程序通信流程 一、网络的基本概念 1…

python可视化-直方图

1、加载数据 import pandas as pd from sklearn.datasets import load_iris import warnings# 禁用所有警告信息 warnings.filterwarnings(ignore)# 加载数据 iris load_iris() iris iris.keys() df pd.DataFrame(iris.data, columnsiris.feature_names) df[target] iris.t…

联华证券_股票特大单买入意味什么,主力入市

“股票特大单买入”通常意味着有大量资金集中在某一时刻涌入该股票&#xff0c;这往往被视为主力资金入市的迹象。以下是这一现象的详细解读&#xff1a; 1. 主力资金入市 特大单买入: 指的是单笔大额资金买入某只股票&#xff0c;通常是由机构投资者或其他大资金操盘者进行的…

动手学深度学习(pytorch)学习记录19-参数管理[学习记录]

文章目录 参数访问目标参数一次性访问所有参数从嵌套块收集参数 参数初始化内置初始化自定义初始化 参数绑定延后初始化 本节内容&#xff1a; 访问参数&#xff0c;用于调试、诊断和可视化&#xff1b; 参数初始化&#xff1b; 在不同模型组件间共享参数&#xff1b; 延后初始…

C++必修:unordered_set与unordered_map的实现

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C学习 贝蒂的主页&#xff1a;Betty’s blog 1. unordered_set与unordered_map的结构 我们知道STL中的unordered_set与unorder…

PowerDesigner生成数据库表结构

PowerDesigner生成数据库表结构 目录 1. 安装32位JDK 2. 更改当前DBMS 3. 下载MySQL驱动 4. 生成数据库表结构 安装32位JDK PowerDesigner只支持32位JDK 更改当前DBMS 下载MySQL驱动 下载地址&#xff1a; MySQL :: Begin Your Download 生成数据库表结构 选择Dire…

同城外卖系统开发方案解析

外卖系统开发是一个复杂而细致的过程&#xff0c;涉及多个方面的考虑和技术实现。以下是对外卖系统开发的详细解析&#xff1a; 一、需求分析 在开发外卖系统之前&#xff0c;首先需要进行详尽的需求分析。这包括用户需求、商家需求和后台管理需求三个方面&#xff1a; 用户需…

怎样把两个pdf合并成一个pdf?教你7种方法轻松完成合并!

新手小白如何将pdf合并成一个文件&#xff1f;pdf是目前较为主流的一种传输格式&#xff0c;内容包含了丰富的多媒体数据&#xff0c;包括文本、图像、表格等多种元素&#xff0c;很多企业和教育工作者都喜欢使用pdf格式。 pdf文件体积较小&#xff0c;兼容性高&#xff0c;平…

微深节能 卸料小车远程智能控制系统 格雷母线定位系统

微深节能的卸料小车远程智能控制系统与格雷母线定位系统的结合&#xff0c;为物料管理提供了智能化、精准化、高效化的解决方案。 一、系统概述 卸料小车远程智能控制系统&#xff1a;该系统利用现代科技手段&#xff0c;实现对卸料小车的远程监控与智能控制&#xff0c;旨在提…

使用vueuse在组件内复用模板

1. 安装vueusae pnpm i vueuse/core2. 组件内复用模板 createReusableTemplate 是vueuse中的一个实用工具&#xff0c;用于在 Vue 3 中创建可重复使用的模板片段&#xff0c;同时保持状态的独立性。这对于需要在多个组件中重复使用相同的结构和逻辑时非常有用。 因为这些可复…