博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#遍历指定文件夹中的所有文件和子文件夹
阅读量:5828 次
发布时间:2019-06-18

本文共 3145 字,大约阅读时间需要 10 分钟。

参考:http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html

DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);

//遍历文件夹

foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())
   this.listBox1.Items.Add(NextFolder.Name);
//遍历文件
foreach(FileInfo NextFile in TheFolder.GetFiles())
   this.listBox2.Items.Add(NextFile.Name);

---------------------------------------------------------------------------------------------------------------

如何获取指定目录包含的文件和子目录

    1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
    2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
    3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
如何获取指定文件的基本信息;
    FileInfo.Exists:获取指定文件是否存在;
    FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
    FileInfo.FullName:获取文件的全限定名称(完整路径);
    FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
    FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
    FileInfo.Length:获取文件的大小(字节数);
    FileInfo.IsReadOnly:获取文件是否只读;
    FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
    FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;

 

递归遍历文件夹和子文件夹:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6  7 namespace 遍历文件夹和子文件夹 8 { 9     class Program10     {11         private static FileStream fs;12         private static StreamWriter sw;13 14         static void Main(string[] args)15         {16             string path;17             int leval=0;18 19             Console.WriteLine("请输入需要列出内容的文件夹的完整路径和文件名:");20             path=Console.ReadLine();21             path.Replace('\\','/');22 23             fs = new FileStream("result.txt", FileMode.Create);24             sw = new StreamWriter(fs);25 26             //开始写入文件27             sw.WriteLine("遍历结果如下:");28             sw.WriteLine(path);29 30             listDirectory(path,leval);31 32             //清空缓冲区33             sw.Flush();34             //关闭流35             sw.Close();36             fs.Close();37             Console.WriteLine("请按任意键继续……");38             Console.ReadKey();39         }40 41         /// 42         /// 列出path路径对应的文件夹中的子文件夹和文件43         /// 然后再递归列出子文件夹内的文件和文件夹44         /// 45         /// 需要列出内容的文件夹的路径46         /// 当前递归层级,用于控制输出前导空格的数量47         private static void listDirectory(string path,int leval)48         {49             DirectoryInfo theFolder = new DirectoryInfo(@path);50             51             leval++;52             53             //遍历文件54             foreach (FileInfo NextFile in theFolder.GetFiles())55             {56                 for (int i = 0; i < leval; i++) sw.Write('\t');57                 sw.Write("-->");58                 sw.WriteLine(NextFile.Name);59             }60 61             //遍历文件夹62             foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())63             {64                 for (int i = 0; i < leval; i++) sw.Write('\t');65                 sw.Write("--)");66                 sw.WriteLine(NextFolder.Name);67                 listDirectory(NextFolder.FullName, leval);68             }69         }70     }71 }
View Code

 

你可能感兴趣的文章
爬虫-化被动为主动
查看>>
写一个iOS复杂表单的正确姿势
查看>>
资源共建共享 共创智慧城市
查看>>
我国5G商用时间表出炉 布局提速刺激产业链升级
查看>>
《分布式系统:概念与设计》一3.3 网络原理
查看>>
“风池计划”再升级!阿里云代金券申请零!零!零!门槛
查看>>
《高性能Linux服务器构建实战》——第3章Memcached应用实战
查看>>
WiX制作安装包--系统必备
查看>>
USB-C新标准有助抗击恶意软件和防止劣质数据线损坏设备
查看>>
大数据分析服务商神策数据获2400万A轮融资
查看>>
Web 单点登录系统
查看>>
网秦第三季度应占净亏损900万美元 同比亏损扩大
查看>>
中移动携手爱立信英特尔完成全球首个NB-IoT业务演示
查看>>
《私有云计算整合、虚拟化和面向服务的基础设施》一第3章 下一代WAN及服务集成...
查看>>
亚玛顿拟定增9.56亿 加快光伏发电领域战略布局
查看>>
技术与颠覆:从印度市场看Fintech与Techfin的差异
查看>>
软银:Massive MIMO是5G的关键
查看>>
《Android应用开发攻略》——2.15 用提示代替工具提示
查看>>
《Android应用开发攻略》——2.8 在Android应用中使用Google Analytics
查看>>
株洲入选国家低碳试点城市 这些事与市民息息相关
查看>>