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;
}
查看全文
相关阅读:
麦肯锡 问题分析与解决技巧
JavaSe_IO流总结
tcpdump
interface
phpexcel 合并单元格后的动态行高
分布式事务锁的实现
IntelliJ IDEA 实用快捷键
Redis安装教程
ng new my-app创建angular项目是卡住的解决办法
SqlYog无法连接mysql数据库(包括docker环境)的解决方法
原文地址:https://www.cnblogs.com/yyw84/p/269033.html
最新文章
mysql explain 分析sql语句
PDO浅谈之php连接mysql
使用siege对web接口进行post方式的压力测试
小议jQuery插件开发
分页查询不知你是否真正的懂和PHP的正则的应用和一些性能优化
MySQL 高效查询
DataGear开源免费的数据可视化分析平台
Net中的并发锁
Net Core 3.0 尝鲜指南
redis & memcache 性能比较
热门文章
activiti工作流表说明
中国佛教发展史
安装k8-s
Centos7部署PaddleOCR环境
JVM调参
大数据分布式技术栈清单
Jvm调参
MongoDB语法
Mysql多数据源Springboot+mybatis+druid+dynamic-datasource
Vue.js开发实战学习
Copyright © 2011-2022 走看看