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;
}
查看全文
相关阅读:
Centos命令参数自动补全
使用pigz快速压缩TB级别文件
yum使用http代理,wget使用http代理
"Non Zero Exit Status” R 3.0.1 'XML' and 'RCurl' " in bioconductor while installing packages
centos 6.5 编译 segemehl 出错的解决方法
centos下raid详解
CentOS6.5环境安装VMware虚拟机----解决启动虚拟机时could not open /dev/vmmon: No such file or directory的问题
CentOS 6.5升级Firefox浏览器
EditPlus正则表达式替换字符串详解
makefile完毕,编译链接通过
原文地址:https://www.cnblogs.com/yyw84/p/269033.html
最新文章
Java多态中的一个小问题
Java中默认对java.util.Date类型的clone处理是shallow clone
Caused by: java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider
H2数据库做单测数据库时踩到的坑
DecimalFormat数字格式化
mysql的几种锁
mysql limit 数据重复及遗漏
懒癌犯了,怎么治?
mybatis 自定义查询语句
mybatis-generator 代码自动生成插件
热门文章
基于mybatis拦截器分表实现
一些常用的jquery数字正则表达式
专家的修炼之路 —— 德雷福斯模型
javascript学习笔记 对象
前端开发——移动bug整理
IE6下jquery ajax报error的原因
javascript 闭包
《JavaScript语言精粹》学习笔记
关于jquery mobile 页面闪烁与抖动问题
Squid configuration for rsync proxy --- rsync 代理设置及squid代理服务器相关配置
Copyright © 2011-2022 走看看