http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 17655|回复: 7

[C#语言基础] C#获取目录下的所有文件,指定格式,使用Directory进行获取

[复制链接]
发表于 2013-5-8 08:18:02 | 显示全部楼层 |阅读模式
[C#] 纯文本查看 复制代码
 //Directory要引用using System.IO;才可以使用
            string[] dirs = Directory.GetFiles("文件夹完整路径", "*.xml");
            //取列表
            foreach (string item in dirs)
            {
                //item就是每个文件的完整路径+文件名
            }

"*.xml"
是要找的文件类型,大家可以根据自己的需求写,我这样是只找到所有的xml文件,
"*.*" 所有文件
"*.txt" 所有txt文件
"a*.xml" 开头是a的所有xml文件
语法就是这样,大家自己试试吧

本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-7-3 11:29:38 | 显示全部楼层
本帖最后由 OO。 于 2013-7-3 11:32 编辑

如果文件数量大的话,然后又有子文件夹的情况下,获取指定格式的文件路径, 有更有效率的方式吗?

比如,一个文件夹下有100W个txt文档,子文件夹不等,获取所有txt文档路径的话, 有没有有效率的方式。
发表于 2013-7-3 11:35:15 | 显示全部楼层
OO。 发表于 2013-7-3 11:29
如果文件数量大的话,然后又有子文件夹的情况下,获取指定格式的文件路径, 有更有效率的方式吗?

比如 ...

100万也没事吧,这种方式,100万我估计也就是一两秒的事
发表于 2013-7-3 11:45:08 | 显示全部楼层
站长苏飞 发表于 2013-7-3 11:35
100万也没事吧,这种方式,100万我估计也就是一两秒的事

上次弄了60W个文档, 放了差不多20分钟没有弄出来。
不知道是不是我电脑问题。 下次在试试。

上次想了一种思路,
string[] allfile = Directory.GetFiles(path);  这样可以直接获取文件夹下所有文件。
有没有什么东西可以直接累加这个allfile的
发表于 2013-7-3 11:48:37 | 显示全部楼层
OO。 发表于 2013-7-3 11:45
上次弄了60W个文档, 放了差不多20分钟没有弄出来。
不知道是不是我电脑问题。 下次在试试。

http://www.sufeinet.com/thread-3690-1-1.html你试试我的工具,里面有文件移动器看看获取文件数快不快,这个就是使用这种方式实现的
发表于 2013-7-4 22:54:16 | 显示全部楼层
谢谢了,收藏了
发表于 2016-11-17 10:24:10 | 显示全部楼层
public static void GetFileAndDiretoryToTree(string path, TreeNodeCollection treeNodeCollection)
        {
            try
            {
                //获取地址中的文件夹
                String[] dire = Directory.GetDirectories(path);
                //获取地址中的文件
                string[] file = Directory.GetFiles(path);
                //遍历文件夹
                foreach (var item in dire)
                {
                    //获取文件家地址
                    TreeNode node = treeNodeCollection.Add(Path.GetFileName(item));
                    //递归调用  把文件夹下的所有子文件和文件夹都加载到树上
                    GetFileAndDiretoryToTree(item, node.Nodes);
                }
                //遍历文件
                foreach (var item in file)
                {
                    //把文件所有文件都加载到树上
                    treeNodeCollection.Add(Path.GetFileName(item));
                }
            }
            catch (Exception)
            {

                MessageBox.Show("地址错误");
            }
        }
如果第一次输入的path是f:\它就会报错   这个该怎么改  如果写判断 if(path=="c:\\" && path=="d:\\")这样写好几个盘  那样这个语句也太长了
发表于 2017-3-14 10:35:40 | 显示全部楼层
获取某种特定格式的文件如.XML文件,只适用于自己开发的软件的显示形式(将文件的显示改为某种图片),这种怎么实现呢
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 03:02

© 2014-2021

快速回复 返回顶部 返回列表