zoukankan
html css js c++ java
获取某目录下的所有文件(包括子目录下文件)的数量(C#)
以前写过一个通过计算目录遍历所有文件和子目录的方法来获得某目录下的文件个数,结果发现速度极慢,远远不及系统本身目录属性里边显示的速度。
int
fileNum
=
0
;
/**/
///
<summary>
///
获取某目录下的所有文件(包括子目录下文件)的数量
///
</summary>
///
<param name="srcPath"></param>
///
<returns></returns>
public
int
GetFileNum(
string
srcPath)
{
try
{
//
得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
string
[] fileList
=
System.IO.Directory.GetFileSystemEntries(srcPath);
//
遍历所有的文件和目录
foreach
(
string
file
in
fileList)
{
//
先当作目录处理如果存在这个目录就重新调用GetFileNum(string srcPath)
if
(System.IO.Directory.Exists(file))
GetFileNum(file);
else
fileNum
++
;
}
}
catch
(Exception e)
{
MessageBox.Show (e.ToString());
}
return
fileNum;
}
近来发现了一个效率更高的方法,只需遍历目录就能获得文件个数,现分享一下
System.IO.DirectoryInfo dirInfo
=
new
System.IO.DirectoryInfo(dirPath);
public
static
int
GetFilesCount(System.IO.DirectoryInfo dirInfo)
{
int
totalFile
=
0
;
totalFile
+=
dirInfo.GetFiles().Length;
foreach
(System.IO.DirectoryInfo subdir
in
dirInfo.GetDirectories())
{
totalFile
+=
GetFilesCount(subdir);
}
return
totalFile;
}
查看全文
相关阅读:
c++作用域运算符---7
REDIS类和方法说明
netty WEBSOKET 客户端 JAVA
出入库算法
演讲的要义
别人的面试经历
在线表单生成器
windows server 2012 安装 VC14(VC2015) 安装失败解决方案
esxi 配置 交换主机 虚拟机交换机 linux centos 配置双网卡
Linux下开发常用配置
原文地址:https://www.cnblogs.com/yyw84/p/269033.html
最新文章
网页特殊符号HTML代码大全
Linux shell if [ -n ] 正确使用方法
VIM选择文本块/复制/粘贴
Kafka 之 入门
zookeeper ACL使用
理解 Linux 的硬链接与软链接
Linux下的rename命令
Linux中mkdir和touch命令区别
简明Linux命令行笔记:touch
linux stat命令参数及用法详解
热门文章
linux stat 命令查看文件信息
rtabmap_ros安装---43
利用move_base导航--42
3轮全向轮正解---41
c++构造函数的作用---13
c++对象成员的引用---12
c++成员函数的存储方式---11
c++类的声明和对象的定义---10
c++new/delete---9
c++字符串变量---8
Copyright © 2011-2022 走看看