C#获取子文件夹及其中所有的文件

news/2024/11/28 1:34:01/

        首先用FolderBrowserDialog获取目标文件夹,如果不要求可视化也可以直接在文本框中输入,从其的SelectedPath属性中就可以获取目标路径。

FolderBrowserDialog folder = new FolderBrowserDialog();
folder.ShowDialog();
string Root = folder.SelectedPath;

        这里将获取的路径记录为根路径,后面有用。

        使用方法GetFiles获取该文件夹下所有的文件

string[] filedir = Directory.GetFiles(Root, "*", SearchOption.AllDirectories);

        此时得到会得到所有文件的绝对路径

         可以使用Replace将路径中的根目录替换为空格

filedir[i] = filedir[i].Replace(Root, " ");

        随后使用Split按照路径分隔符('\\')拆开,即可得到其从根目录以来的所有层级的文件夹名称

string[] items = filedir[i].Split('\\');

         至于获取文件名则可以对items[2]使用Split按照后缀分隔符('.')切割

items[3].Split('.')[0]

         此方案适合用于层级已知且层级中含有分类信息的情况。将所有数据分割出来之后可以很方便的进行后续处理。


http://www.ppmy.cn/news/1715.html

相关文章

KubeEdge云原生边缘计算公开课02——云原生边缘计算千行百业核心应用

KubeEdge云原生边缘计算公开课02——云原生边缘计算千行百业核心应用张琦:云原生边缘计算产业发展现状与趋势展望——KubeEdge云原生边缘计算产业发展概述一、云原生边缘计算的产业场景1.云计算与边缘计算的对比2.传统的把边缘计算逐步向CloudNative技术演进3.传统本…

【算法笔记(六)】检索算法

算法笔记(六) 检索算法算法笔记(六)前言一、线性查找1.什么是线性查找2.需求规则3.人工图示演示4.代码实现二、二分查找1.什么是二分查找2.需求规则3.人工图示演示4.代码实现三.插值查找1.什么是插值查找2.需求规则3.人工图示演示4.代码实现四.斐波那契查找1.什么是斐波那契查找…

1. STL六大组件

0. 介绍 STL提供六大组件,它们之间可以彼此套用,如下图所示: 容器(containers):用于存放数据; 算法(algorithms):包含各种常用算法; 迭代器&…

【Web安全】文件上传漏洞

目录 1. 文件上传漏洞概述 1.1 FCKEditor文件上传漏洞 1.2 绕过文件上传检查功能 2. 功能还是漏洞 2.1 Apache文件解析 2.2 IIS文件解析 2.3 PHP CGI路径解析 2.4 利用上传文件钓鱼 3. 设计安全的文件上传功能 1. 文件上传漏洞概述 文件上传漏洞是指用户上传了一个…

【gbase8a】docker搭建gbase8a,详细【图文】

docker搭建gbase8a安装docker安装GBase 8a查询安装的版本拉取镜像启动进入容器创建用户dbever测试安装docker 其中具有docker的搭建 搭建docker,docker搭建达梦数据库,详细【图文】 https://blog.csdn.net/weixin_44385419/article/details/127738868 d…

(十三) 共享模型之无锁【字段更新器、原子累加器、Unsafe】

一、字段更新器(P175) J.U.C 并发包提供了: AtomicReferenceFieldUpdater // 域 字段 AtomicIntegerFieldUpdater AtomicLongFieldUpdater 利用字段更新器,可以针对对象的某个域(Field)进行原子操作&#x…

计算机毕业设计Java基本web蓝桥杯名师工作室(源码+系统+mysql数据库+lw文档)

计算机毕业设计Java基本web蓝桥杯名师工作室(源码系统mysql数据库lw文档) 计算机毕业设计Java基本web蓝桥杯名师工作室(源码系统mysql数据库lw文档)本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse …

[附源码]Python计算机毕业设计SSM竞赛报名管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…