C#–遍历目录实例

C#–遍历目录实例

大家好,又见面了,我是全栈君。

鉴于前面几篇博客都说了,这边就啥都不说了。直接就開始贴代码了。


1.控件解释:

FolderBrowserDialog控件一个—-用来显示”浏览目录”对话框

TextBox控件一个—-用来显示选择的目录

Button控件一个—-用来打开”浏览目录”对话框

ListView控件一个—-用来显示选择的目录中的子目录及文件信息


2.实例代码:

        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = folderBrowserDialog1.SelectedPath;
                //实例化DirectoryInfo对象
                DirectoryInfo dinfo = new DirectoryInfo(textBox1.Text);
                //获取指定目录下的全部子目录及文件类型
                FileSystemInfo[] fsinfos = dinfo.GetFileSystemInfos();
                foreach (FileSystemInfo fsinfo in fsinfos)
                {
                    if (fsinfo is DirectoryInfo)    //推断是否目录
                    {
                        //使用获取的目录名称实例化DirectoryInfo对象
                        DirectoryInfo dirinfo = new DirectoryInfo(fsinfo.FullName);
                        //为ListView控件加入目录信息
                        listView1.Items.Add(dirinfo.Name);
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.FullName);
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add("");
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add(dirinfo.CreationTime.ToShortDateString());
                    }
                    else
                    {
                        //使用获取的文件名实例化FileInfo对象
                        FileInfo finfo = new FileInfo(fsinfo.FullName);
                        //为ListView控件加入文件信息
                        listView1.Items.Add(finfo.Name);
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.FullName);
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.Length.ToString());
                        listView1.Items[listView1.Items.Count - 1].SubItems.Add(finfo.CreationTime.ToShortDateString());
                    }
                }
            }
        }




3.执行截图:


点击浏览button

C#--遍历目录实例


选择一个目录后:

C#--遍历目录实例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116042.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql中的mvcc的使用和原理详解_mysql底层原理

    mysql中的mvcc的使用和原理详解_mysql底层原理什么是MVVCMVVC(Multi-VersionConcurrencyControl)(注:与MVCC相对的,是基于锁的并发控制,Lock-BasedConcurrencyControl)是一种基于多版本的并发控制协议,只有在InnoDB引擎下存在。MVCC是为了实现事务的隔离性,通过版本号,避免同一数据在不同事务间的竞争,你可以把它当成基于多版本号的一种乐观锁。当然,这种乐观锁只在…

    2025年6月18日
    5
  • python字典和json字符串相互转化的方法_Python读取json

    python字典和json字符串相互转化的方法_Python读取json序列化与反序列化按照某种规则,把内存中的数据保存到文件中,文件是一个字节序列,所以必须要把内存数据转换成为字节序列,输出到文件,这就是序列化;反之,从文件的字节恢复到内存,就是反序列化;pytho

    2022年7月28日
    4
  • 【PyTorch】详解pytorch中nn模块的BatchNorm2d()函数

    【PyTorch】详解pytorch中nn模块的BatchNorm2d()函数基本原理在卷积神经网络的卷积层之后总会添加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定,BatchNorm2d()函数数学原理如下:BatchNorm2d()内部的参数如下:1.num_features:一般输…

    2022年6月14日
    57
  • SENet实战详解:使用SE-ReSNet50实现对植物幼苗的分类

    SENet实战详解:使用SE-ReSNet50实现对植物幼苗的分类摘要 1 SENet 概述 Squeeze and ExcitationNe 简称 SENet 是 Momenta 胡杰团队 WMW 提出的新的网络结构 利用 SENet 一举取得最后一届 ImageNet2017 竞赛 ImageClassif 任务的冠军 在 ImageNet 数据集上将 top 5error 降低到 2 251 原先的最好成绩是 2 991 作者在文中将 SENetblock 插入到现有的多种分类网络中 都取得了不错的效果 作者的动机是希望显式地建模

    2025年7月23日
    3
  • OpenCv函数学习(一)[建议收藏]

    IntelImageProcessingLibrary(IPL)位深度在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。黑白二色的图像是数字图像中最简单的一种,它只有黑

    2021年12月18日
    49
  • 透视投影矩阵_透视投影矩阵推导知乎

    透视投影矩阵_透视投影矩阵推导知乎透视投影矩阵TheOpenGLPerspectiveProjectionMatrix关于透视投影矩阵的使用BuildingaBasicPerspectiveProjectionMatrixTheOpenGLPerspectiveProjectionMatrix首先,重要的是要记住OpenGL中的矩阵是使用列主顺序(而不是行主顺序)定义的。在所有的OpenGL书籍和参考文献中,OpenGL中使用的透视投影矩阵定义为:我们可以简单地转置矩阵,我们可以得到下面的以行向量为顺序的

    2022年10月5日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号