• WPF实例,以getFiles()获取文件夹,treeview的应用


    读取电脑硬盘根目录添加到TreeView控件

     foreach (DriveInfo item in System.IO.DriveInfo.GetDrives())
                {
                    if(item.ToString()=="C:\") //这里不添加c盘
                        continue;
                    TreeViewItem tvi = new TreeViewItem();
                    tvi.Header = item.ToString();
                    tvi.Tag = item.RootDirectory;
                    tvi.Items.Add("*");
    
                    tv.Items.Add(tvi);
                }

    *是占位符,当点击treeview节点时再给添加其目录,对隐藏文件夹跳过查找

      private void tv_Expanded(object sender, RoutedEventArgs e)
            {
                var tvi = e.OriginalSource as TreeViewItem;
                tvi.Items.Clear();
                var di = tvi.Tag as DirectoryInfo;
                foreach (var item in di.GetDirectories())
                {
                    //只查不隐藏文件夹下的文件
                    if ((item.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)   //必须进行与运算,因为默认文件是“Hidden”+归档(二进制11)。而Hidden是10.因此与运算才可以判断
                    {
                        TreeViewItem t = new TreeViewItem()
                        {
                            Tag = item,
                            Header = item.ToString()
                        };
                        t.Items.Add("*");
                        tvi.Items.Add(t);
                    }
                }
            }

    查找文件夹下包括子文件夹下所有文件,使用递归函数:

           public void GetFiles(DirectoryInfo di)
            {
                try
                {
                    filelist.AddRange(di.GetFiles());
                    foreach (var item in di.GetDirectories())
                    {
                        if ((item.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)   //必须进行与运算,因为默认文件是“Hidden”+归档(二进制11)。而Hidden是10.因此与运算才可以判断
                        {
                            GetFiles(item);
                        }
                    }
                }
                catch (Exception ex)
                {
                    
                }
            }
  • 相关阅读:
    从零搭建一个IdentityServer——项目搭建
    自学是门手艺-准备好好读读这本书
    Python学习路径
    如何查看一套Android代码的版本
    用tmux让程序在ssh退出后保持运行
    AOSP patch
    The Update Engine Action System
    职 工 养 老 保 险 转 移—陕西省外转入
    uml资料
    ABOTA资料汇集
  • 原文地址:https://www.cnblogs.com/lunawzh/p/5980754.html
Copyright © 2020-2023  润新知