C#获取文件夹名为什么这么慢

问题描述

用Directory.GetDirectories获取一个文件夹下所有的文件夹(包含所有子目录)发现效率实在的低,文件稍微多点软件就直接卡死,跑不动后用了http://www.cnblogs.com/xdesigner/archive/2006/12/08/586177.html里的办法,再稍微改点(用以支持获得所有子目录)然后,总共大概就377个文件夹,也得花费大概28秒。有没有加快的办法啊?后来还发现,同一个目录,第一次最慢,之后几乎就瞬间就能得到结果,硬盘有缓存?

解决方案

解决方案二:
换机械硬盘。在没有索引的情况下,读取文件系统结构本来就很慢。
解决方案三:
这是你的驱动器慢……
解决方案四:
按1楼说的换硬盘吧
解决方案五:
那就没办法了,硬件瓶颈。除非学everything,不过那个难度比较大,做不来。

时间: 2024-11-27 15:25:33

C#获取文件夹名为什么这么慢的相关文章

PHP获取文件夹内文件数的方法_php技巧

本文实例讲述了PHP获取文件夹内文件数的方法.分享给大家供大家参考.具体实现方法如下: function getfilecounts($ff){ $dir = './'.$ff; $handle = opendir($dir); $i = 0; while(false !== $file=(readdir($handle))){ if($file !== '.' && $file != '..') { $i++; } } closedir($handle); return $i; } 希望

c#-获取文件夹的名称,并分类移动

问题描述 获取文件夹的名称,并分类移动 有几个文件夹名为"1.1,1.2,1.3,2.1,2.2,2.3,....",移动到选择文件夹, 并创建 以"."前面的字为名创建文件夹 "1,2",并把'1.1,1.2,1.3','2.1,2.2,2.3'移入到创建的文件夹 解决方案 在D:测试目录下建立1.1.1.2.1.3.2.1.2.2.2.3等几个文件夹,然后运行我下面的程序. namespace ConsoleApplication1 { cl

C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名

原文:C# 文件操作(全部) 追加.拷贝.删除.移动文件.创建目录 修改文件名.文件夹名 本文也收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容Detele.读取文本文件.获取文件列表.读取日志文件.写入日志文件.创建HTML 文件.CreateDirectory方法的使用.修改文件或文件夹名称等方法使用..... C#追加文件 StreamWrit

php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)_php技巧

本文实例分析了php文件操作的方法.分享给大家供大家参考,具体如下: 一.删除文件 unlink() 语法: int unlink(string filename); 返回值: 整数 函数种类: 文件存取.如: unlink("tmp/test.txt"); 二.获取文件夹下面的文件名 $dir = "message/"; // 文件夹的名称 if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($file = r

【万里征程——Windows App开发】文件&数据——读取文件/文件夹名

在上一节中我们学习了数据绑定,因为我个人对上一篇还是比较满意的,至少相对于前面的那些而言(我也知道前面写的太差了,后面还会继续修改的,博客也像软件一样嘛).这一节开始我们将陆续看到Windows App是怎样操作文件的. 在Windows上读取文件名.文件夹名 首先我们在XAML中定义一个Button和TextBlock,将读取文件/文件夹名的过程写在前者的click事件中,后者则用来显示文件信息. <Grid Background="{ThemeResource ApplicationP

求一个递归修改文件夹内全部子文件和文件夹名的程序(batch或者perl)

问题描述 求一个递归修改文件夹内全部子文件和文件夹名的程序(batch或者perl) 需求是这样的: 递归修改文件夹中所有名字带"aaa"字符串的 文件夹名或者文件名改成 bbb 例如: 01_aaa |_01_aaa_01 |_nbdaaa_01.txt |_nbcaaa_02.txt |_02_aaa_01 改成 01_bbb |_01_bbb_01 |_nbdbbb_01.txt |_nbcbbb_02.txt |_02_bbb_01 解决方案 http://blog.163.c

PHP获取文件后缀名|PHP如何获取文件后缀

  PHP取得文件后缀,关于获取文件的扩展名有很多种方式,下面提供三种获取文件后缀的方法,大家可以研究下,具体代码就不解释了.直接看代码吧. 选好一种记住,以后需要使用的时候就可以直接使用,或者来本站查看本文也是可以滴.   <?php //方法一: function extend_1($file_name) { $retval=""; $pt=strrpos($file_name, "."); if ($pt) $retval=substr($file_na

获取文件夹大小(PHP函数)

函数 <?php     // 获取文件夹大小    function getDirSize($dir)    {         $handle = opendir($dir);        while (false!==($FolderOrFile = readdir($handle)))        {             if($FolderOrFile != "." && $FolderOrFile != "..")     

php如何获取文件夹名字

php如何获取文件夹名字 php如何获取文件夹名字其实很简单,只要记住一两个函数就可以了! $dir = "message/";  // 文件夹的名称 if (is_dir($dir)){     if ($dh = opendir($dir)){         while (($file = readdir($dh)) !== false){             echo "文件名: $file <br>";         }