9、指定路径获取路径下目录结构

该博客介绍了一个用于获取指定路径下目录结构的函数,通过递归方式遍历文件和子目录,将信息封装到DirInfo类中。DirInfo类包含文件名、目录名、以及子目录列表。此功能可用于资源管理器类应用,展示文件系统的层级结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能需求:类资源管理器的功能,选择一个路径,然后得到路径下的目录结构,返回的是一个列表

 一、封装的函数

基本思想:主要是一个递归,判断object类型是文件还是文件夹,然后再放入发入对应的集合中

        /// <summary>
        /// 220305 komla 
        /// </summary>
        /// <param name="list"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        private static List<DirInfo> ListDirectory(List<DirInfo> list,string path)
        {
            DirectoryInfo folder = new DirectoryInfo(@path);
            //遍历文件
            foreach (FileInfo NextFile in folder.GetFiles())
            {
                //Console.WriteLine(path + NextFile.Name + "\r\n");
                //richTextBox1.AppendText(path + NextFile.Name + "\r\n");//文件路径
                list.Add(new DirInfo
                {
                    FileName = NextFile.Name,
                    //state = new state { opened = false }, 
                });
            }

            //遍历文件夹
            foreach (DirectoryInfo NextFolder in folder.GetDirectories())
            {

                list.Add(new DirInfo
                {
                    DirName = NextFolder.Name,
                    DirChildren = ListDirectory(new List<DirInfo>(), NextFolder.FullName)
                });
                //ListDirectory(new List<FileNames>(), NextFolder.FullName);

            }
            return list;
        }

二、类

    public class DirInfo
    {
        public DirInfo()
        {
            DirChildren = new List<DirInfo>();
        }

        public string DirName { get; set; }

        public string FileName { get; set; }

        public List<DirInfo> DirChildren { get; set; }
    }

说明:大家可以根据自己需求写这个类,比如文件类型了,文件大小了等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值