遍历文件夹 DirectoryInfo类

该类有三个方法:

GetDirectories()  当前目录的子目录

GetFiles()   当前目录的文件列表

GetFileSystemInfos()  当前目录的文件、子目录,返回强类型FileSystemInfo数组

 

复制代码
private void button1_Click(object sender, EventArgs e)
    {
        listView1.Items.Clear(); //清空列表
        if (folderBrowserDialog1.ShowDialog()==DialogResult.OK)
        {
            textBox1.Text = folderBrowserDialog1.SelectedPath; //选中的路径
            DirectoryInfo info = new DirectoryInfo(textBox1.Text);
            FileSystemInfo[] fsInfo = info.GetFileSystemInfos();//获取该目录的文件、子目录
            foreach (FileSystemInfo f in fsInfo)
            {
                if (f is DirectoryInfo)//如果是子目录
                {
                    DirectoryInfo dir = new DirectoryInfo(f.FullName);
                    listView1.Items.Add(dir.Name); //第一列展示
                    //listView1.Items[listView1.Items.Count - 1].SubItems.Add(dir.FullName); //第二列展示
                    listView1.Items[1].SubItems.Add(dir.FullName); //等效
                }
                else //如果是文件
                {
                    FileInfo file = new FileInfo(f.FullName);
                    listView1.Items.Add(file.Name);
                    listView1.Items[listView1.Items.Count-1].SubItems.Add(file.FullName);
                }
            }
        }
    }
复制代码

 

posted @   夕西行  阅读(350)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2017-05-04 数组、结构体、联合体、枚举类型、类型转换
点击右上角即可分享
微信分享提示