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

news2024/9/23 7:29: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.coloradmin.cn/o/61094.html

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

相关文章

三台机器搭建redis集群过程及问题记录

文章目录1. 前言2. 搭建集群3. 遇到的问题4. 相关文章1. 前言 Redis版本 5.0.4 服务器版本 Linux CentOS 6;CentOS 7;CentOS 9; redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭…

Spring boot 启动流程及外部化配置

平时我们开发Spring boot 项目的时候,一个SpringBootApplication注解加一个main方法就可以启动服务器运行起来,那它到底是怎么运行起来的呢? Main 入口 我们首先从main方法来看源码,逐步深入: SpringBootApplicatio…

Python实现Stacking回归模型(随机森林回归、极端随机树回归、AdaBoost回归、GBDT回归、决策树回归)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 Stacking通常考虑的是异质弱学习器(不同的学习算法被组合在一起),st…

(附源码)SSM宠物领养系统 毕业设计 031654

SSM宠物领养系统 摘 要 如今,随着人们生活水平不断提高,人们的生活在物质满足的基础上,更多的人将生活的重点放在追求精神享受的过程中。于此同时,Internet铺天盖地的普及,使得这样的人纷纷通过Internet的方式去寻找精…

(十一) 共享模型之无锁【CAS 与 volatile】

一、问题引出(P158) 1. 取款案例 interface Account {// 获取余额Integer getBalance();// 取款void withdraw(Integer amount);/*** 方法内会启动 1000 个线程,每个线程做 -10 元 的操作* 如果初始余额为 10000 那么正确的结果应当是 0*/st…

Seata概述基础

分布式事务原因: 单体架构的spring事务不能跨机器,不能跨数据源 分布式事务的概念: 一个业务流程,在分布式系统(微服务)中,每个业务模块都是一个分支,保证每个业务分支一起成功&am…

ROS1 LTS版本安装教程

Abstract: "ROS is primarily targeted at the Ubuntu , though other Linux systems as well as Mac OS X, Android, and Windows are supported to varying degrees. " 一、系统要求 ROS版本系统版本长期支持ROS Kinetic KameWily: amd64、i386 Xenial: amd64、i…

JSP住宅小区物业管理系统(源代码+开题报告+论文+答辩PPT)科大云炬

小区物业管理毕业设计 (论文) 目 录 摘要--------------------------------------------------------------------------------------------1 ABSTRACT-----------------------------------------------------------------------------------2 第1章…

制作composer包提供sdk扩展

目录 1、初始化包 2、将代码推送到github远程仓库 3、为写好扩展包打上tag标签标记当前代码版本 4、将包发布到包管理平台 初始化包,生成 Creates a basic composer.json file in current directory composer init composer init 按照引导就可以生成了 , 详细的…

Python学习笔记 - 异常处理

前言 为了增强程序的健壮性,计算机程序的编写也需要考虑如何处理一些异常的情况,Python 语言提供了异常处理功能,本博文主要介绍 Python 异常处理机制。 一 异常处理举例 为了学习 Python 异常处理机制,首先看下面进行除法运算的…

MySQL的主从复制与读写分离详解

MySQL的主从复制与读写分离详解读写分离概述什么是读写分离为什么要读写分离什么时候要读写分离MySQL主从复制与读写分离主从复制的概念MySQL支持的复制类型主从复制的工作过程主从复制示例保证MySQL主从服务器时间同步主节点服务器配置从节点服务器设置验证MySQL读写分离MySQL…

Vue3 学习笔记 —— Hooks、全局函数和变量、Vue3 插件

目录 1. Hooks 1.1 Vue2 中的 mixins 1.1.1 mixins 是什么? 1.1.2 mixins 缺点? 1.2 Vue3 中的 Hooks 1.2.1 Vue3 Hooks 是什么? 1.2.2 Vue3 内置 hooks 举例 1.2.3 自定义 Hooks 2. 全局函数和全局变量 2.1 app.config.globalProp…

【深入设计模式】适配器模式—一切皆有可能

文章目录1. 适配器模式1.1 适配器模式简介1.2 适配器模式结构1.3 适配器模式示例2. 适配器模式在源码中的应用3. 总结适配器这个词来源于硬件领域,是一个独立的硬件设备接口,允许硬件或电子接口与其它硬件或电子接口相连,比如常见的电源适配器…

(附源码)SSM芜湖公共书房服务平台 毕业设计 250859

SSM芜湖公共书房服务平台 摘 要 一座有底蕴的城市,应该是一个阅读的城市;一个有魅力的城市,应该是一个散发着书香的城市,而全民阅读量逐年增加,是社会进步、文明程度提高的重要标志。各大城市启动“全民阅读”工作以来…

Redis缓存过期和和内存淘汰策略

目录 1、MaxMemory 2、Expire数据结构 3、删除策略 3.1、惰性删除 3.2、主动删除 3.3、缓存淘汰策略 ​​​​​​​3.4、缓存淘汰策略的选择 1、MaxMemory Redis作为DB使用时,为了保证数据的完整性,不允许淘汰任何键值对。Redis作为缓存使用时&…

汇编语言与微机原理 期末半开卷复习整理(上)

8086CPU寄存器 8086:16位,4.77MHz~10MHz,16根数据线,20根地址线 AX/AL:乘除法指令中用作累加器,IO指令中用作数据寄存器,可显式或隐含调用 AH:在LAHF用作目的寄存器,隐含调用。 AL:…

大数据必学Java基础(一百一十一):过滤器注解应用和开发案例

文章目录 过滤器注解应用和开发案例 一、过滤器注解应用 二、开发案例

Python学习日记-第三十八天-生成器(第二节)

系列文章目录 使用greenlet,gevent完成多任务一、使用greenlet,gevent完成多任务 这里要先在pycharm里面提前安装好greenlet和gevent的包 操作: 代码: from greenlet import greenlet import timedef test1():while True:prin…

Android入门第39天-系统设置Configuration类

简介 本节给大家介绍的Configuration类是用来描述手机设备的配置信息的,比如屏幕方向, 触摸屏的触摸方式等。 Configuration给我们提供的方法列表 densityDpi:屏幕密度fontScale:当前用户设置的字体的缩放因子hardKeyboardHidd…

[深度学习] python基础支持汇总

这个系列放一些看神经网络源码过程中的python语法现象 文章目录前言一、list操作://extends/append的区别1.引入2.细致场景再现前言 例如:这个系列放一些看神经网络源码过程中的python语法现象, 直接解析语法太干瘪无聊.希望用这个方式来巩固所学知识 一、list操作…