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;
}
查看全文
相关阅读:
Sql Server数据库快照初探
RestTemplate的exchange()方法,解决put和delete请求拿不到返回值的问题
常用 HTTP 状态码
RestTemplate进行访问分页PageInfo
Java RestTemplate传递参数
SQL-----数据库三种删除方式详解
Mybatis异常-java.lang.IllegalArgumentException: invalid comparison:java.util.Date and java.lang.String
SpringBoot 项目不加载 application.properties 配置文件
git设置、查看、取消代理
Layui:select下拉框回显
原文地址:https://www.cnblogs.com/yyw84/p/269033.html
最新文章
vue双向绑定的原理及实现
vue生命周期
v-show与v-if的区别
面试必备-更改this指向的三个方法
面试必备-this
面试必备-作用域、作用域链、预解析
面试必备-闭包
面试必备-HTTP状态码
【金融】供应链金融
【大数据-文摘笔记】SMP、NUMA和MPP
热门文章
【大数据-文摘笔记】MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较
【马来西亚】娘惹的含义
【Teradata】Latin和Unicode字符集转换(自定义函数udf_w936to16和udf16tow936)
【Linux基础】linux下的stdin,stdout和stderr理解
【Linux基础】查看十六进制hexdump
【Linux基础】VI替换命令详解
【Linux 基础】关机与重启
【Factory 01】Overview
sql server 2012 镜像和出现的问题
web.config中<customErrors>节点
Copyright © 2011-2022 走看看