C#获取全部目录和文件的简单实例
发布时间:2021-09-01 02:51:00
public class FileAccess
{
//储存所有文件夹名
private ArrayList dirs;
public FileAccess()
{
dirs = new ArrayList();
}
//获取所有文件名
private ArrayList GetFileName(string dirPath)
{
ArrayList list = new ArrayList();
if (Directory.Exists(dirPath))
{
list.AddRange(Directory.GetFiles(dirPath));
}
return list;
}
//获取所有文件夹及子文件夹
private void GetDirs(string dirPath)
{
if (Directory.GetDirectories(dirPath).Length > 0)
{
foreach (string path in Directory.GetDirectories(dirPath))
{
dirs.Add(path);
GetDirs(path);
}
}
}
/// <summary>
/// 获取给出文件夹及其子文件夹下的所有文件名
/// (文件名为路径加文件名及后缀,
/// 使用的时候GetAllFileName().ToArray()方法可以转换成object数组
/// 之后再ToString()分别得到文件名)
/// </summary>
/// <param name="rootPath">文件夹根目录</param>
/// <returns></returns>
public ArrayList GetAllFileName(string rootPath)
{
dirs.Add(rootPath);
GetDirs(rootPath);
object[] allDir = dirs.ToArray();
ArrayList list = new ArrayList();
foreach (object o in allDir)
{
list.AddRange(GetFileName(o.ToString()));
}
return list;
}
/// <summary>
/// 如果上个方法不知道怎么用,那就调用这个方法吧
/// </summary>
/// <param name="rootPath"></param>
/// <returns></returns>
public List<string> FileName(string rootPath)
{
List<string> list = new List<string>();
foreach (object o in GetAllFileName(rootPath).ToArray())
{
list.Add(o.ToString());
}
return list;
}
}
猜你喜欢
- 前言 ChatGPT已经组件放开了,现在都可以基于它写插件了。但是说实话我还真没想到可以用它干嘛,也许
- 缓存是HTTP协议的一个强大功能,但由于某些原因,它主要用于静态资源,如图像,CSS样式表或JavaScript文件,但是,HTTP缓存不仅
- 文章来源:互联网 作者:ggg82/CSDN现在许多用户界面都使用工具栏制作菜单条,小弟最近对此感兴趣,便从网上求助,可是得到的帮助大多是B
- 这篇文章主要介绍了Spring如何使用注解的方式创建bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 一、代码@Componentpublic class BService { @Autowired &
- 直接贴上代码,里面都有注释/// <summary> &n
- 1.汉诺塔介绍汉诺塔规则1.有三根杆子A,B,C。A杆上有若干碟子2.每次移动一块碟子,小的只能叠在大的上面3.把所有碟子从A杆全部移到C杆
- 方法一:Convert.ToDateTime(string)string格式有要求,必须是yyyy-MM-dd hh:mm:ss方法二:Co
- 本文实例讲述了Java实现插入排序的方法。分享给大家供大家参考。具体实现方法如下:import java.util.Arrays; /**
- 本文实例为大家分享了Java分页展示的具体代码,供大家参考,具体内容如下先上图吧,大致如图,也就提供个思路(ps:使用了SSH框架) 前台J
- 微软官方的MSDN上说async和await是“异步”,但是不少人(包括笔者自己)都有一些误区需要澄清:为什么await语句之后没有执行?不
- 实现官方文档说明:com.baomidou.mybatisplus.annotations.TableFieldTableField注解新增
- 一. 假设需求场景在我们开发的过程中,经常出现两个对象存在一对多或多对一的关系。如何在程序在表明这两个对象的关系,以及如何利用这种关系优雅地
- 本文介绍了Java开发过程中日期相关操作,分享的代码如下:package jse;import java.io.UnsupportedEnc
- Spring如何使用 * 缓存解决循环依赖在没开始文章之前首先来了解一下什么是循环依赖@Componentpublic class A {@A
- C/C++的数据类型:一,整型Turbo C: [signed] int 2Byte//有符号数,-32768~32
- 堆区:只存放类对象,线程共享;方法区:又叫静态存储区,存放class文件和静态数据,线程共享;栈区:存放方法局部变量,基本类型变量区、执行环
- 在Spring MVC中想要对每一个URL进行权限控制,不想手工整理这样会有遗漏,所以就动手写程序了。代码如下: /** &nb
- 1. Java中导致死锁的原因Java中死锁最简单的情况是,一个线程T1持有锁L1并且申请获得锁L2,而另一个线程T2持有锁L2并且申请获得
- 需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的I