首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi,怎么快速统计文件夹上文件数量,包括子文件夹

2012-07-28 
Delphi,如何快速统计文件夹下文件数量,包括子文件夹我需要知道,一个文件夹(包括子文件夹)中的 *.jpg 以及

Delphi,如何快速统计文件夹下文件数量,包括子文件夹
我需要知道,一个文件夹(包括子文件夹)中的 *.jpg 以及 *.jpeg 文件的数量(扩展名不区分大小写)。
如不能区分扩展名,统计所有文件数量也可以。

另 这个方法是否可以统计文件夹及子文件夹的数量?

不用遍历文件夹的方法。那种循环递归速度太慢了。
因为我的文件至少有几万个。

万分感谢 麻烦给出详细代码。!!!

[解决办法]
貌似只有遍历这个方法
[解决办法]
没用过其他方法,递归遍历还行吧,关注。
[解决办法]
楼主可以使用Delphi中新增的 IOUtils 单元来完成文件遍历。
首先添加 IOUtils 单元和 Types 单元;
示例代码如下:
指定一个测试目录,楼主可以换成你自己指定的目录,
const
aimDir = 'D:\MyPctures';

获取指定目录及其子目录下所有指定类型的文件
var
dir: TDirectory; 
files: TStringDynArray;//需要 Types 单元支持
str: string;
begin
files := dir.GetFiles(aimDir, '*.jpg', TSearchOption.soAllDirectories);
mmoFiles.Clear;
for str in files do
mmoFiles.Lines.Add(str);
end;
该检索方式速度比传统的遍历要快,且支持通配符。
[解决办法]
楼主,你可以遍历文件夹的时候,每遇到一个文件夹就创建一个线程,在线程中统计文件数量,这样速度会极快!具体楼就请自己熟悉下多线程编程。另外就是给40分的贴子实在太少了,你结贴时系统还返给你20分,而你发贴还被奖励10分。

热点排行