一个获取文件个数的问题 想获取一个指定目录下文件的个数(不是文件夹的个数)。如果文件夹中还有文件夹并且不知道文件夹中是什么类型的文件,想获取文件个数怎么办? 谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DirectoryInfo d = new DirectoryInfo(@"C:\"); FileInfo[] fi= d.GetFiles();然后用fi.Length获得个数如果要知道所有文件个数 递归文件夹即可。 private int getfilecount(string path) { System.IO.DirectoryInfo dir =new DirectoryInfo(path); int count = dir.GetFiles().Length; foreach (DirectoryInfo d in dir.GetDirectories()) { count += getfilecount(d.FullName); } return count; } string[]fileNames=System.IO.Directory.GetFiles(directoryies,"*",SearchOption.AllDirectories);fileNames.Length就是文件数 static void Main(string[] args) { DirectoryInfo dir = new DirectoryInfo("D:\\"); filecount += dir.GetFiles().Length; DirectoryInfo[] dirs = dir.GetDirectories(); foreach (DirectoryInfo di in dirs) GetFileCount(di); Console.WriteLine(filecount); } private static int filecount = 0; private static void GetFileCount(DirectoryInfo di) { filecount += di.GetFiles().Length; if (di.GetDirectories().Length > 0) foreach (DirectoryInfo dir in di.GetDirectories()) GetFileCount(dir); } Directory.GetFiles(path)必定要递归子文件夹 根本不用递归,有现成的方法,你看我3楼的帖子还有,命名用Directory的静态方法就行了,楼上几位还去用DirectoryInfo的实例方法,哪个简单、有效,楼主有自己的判断 能人就是能人呀!我查了一下MSDN发现:此方法在 .NET Framework 2.0 版中是新增的确实不错呀! 类似于dos下的 dir *.* /s 呵呵.不错. 如何用读取注释或者CDATA C# 对oralce数据库的备份和还原 在线等 vs没有打包安装功能? asp.net 合并word 防止恶意登录的程序设计,请参考下? 找不到命名空间,已经引用DLL文件。程序在本地可以正常运行的,可是一传到服务器上就不行了。着急,在线等! 一个DataGrid问题~~~~~~~~高手帮帮忙 达人你在哪? 100分求 页面传值问题 + 调用后台函数问题。(在线==========) 如何传递TreeView的根节点 请问如何简单编写打开文件夹的代码? 新手请教:该怎么使用MSDN文档? 【50分】VS2008超多的专业控件在哪里
FileInfo[] fi= d.GetFiles();
然后用fi.Length获得个数如果要知道所有文件个数 递归文件夹即可。
{
System.IO.DirectoryInfo dir =new DirectoryInfo(path);
int count = dir.GetFiles().Length;
foreach (DirectoryInfo d in dir.GetDirectories())
{
count += getfilecount(d.FullName);
}
return count;
}
fileNames.Length就是文件数
static void Main(string[] args)
{
DirectoryInfo dir = new DirectoryInfo("D:\\");
filecount += dir.GetFiles().Length;
DirectoryInfo[] dirs = dir.GetDirectories();
foreach (DirectoryInfo di in dirs)
GetFileCount(di);
Console.WriteLine(filecount);
}
private static int filecount = 0;
private static void GetFileCount(DirectoryInfo di)
{
filecount += di.GetFiles().Length;
if (di.GetDirectories().Length > 0)
foreach (DirectoryInfo dir in di.GetDirectories())
GetFileCount(dir);
}
必定要递归子文件夹
根本不用递归,有现成的方法,你看我3楼的帖子
还有,命名用Directory的静态方法就行了,楼上几位还去用DirectoryInfo的实例方法,哪个简单、有效,楼主有自己的判断
我查了一下MSDN发现:此方法在 .NET Framework 2.0 版中是新增的
确实不错呀!
类似于dos下的 dir *.* /s 呵呵.不错.