获取文件夹下的子文件夹及文件的名称

您所在的位置:网站首页 getfilesysteminfo 获取文件夹下的子文件夹及文件的名称

获取文件夹下的子文件夹及文件的名称

2023-04-19 04:16| 来源: 网络整理| 查看: 265

实现效果:

  

知识运用:

  DirectoryInfo类的GetFileSystemInfo方法  //检索当前目录的文件和子目录的强类型FileSystemInfo对象的数组

  public FileSystemInfo[] GetFileSystmeInfo()

  FileInfo类的DirectoryName属性    //获取表是目录的完整路径的字符串

  public string DircetoryName {get;}

  FileInfo类的Name属性      //获取文件名

  public override string Name{get;}

实现代码:

private void button1_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = folderBrowserDialog1.SelectedPath; //显示选择文件夹的路径 tempstr = folderBrowserDialog1.SelectedPath; //存储选择文件夹的路径 } thdAddFile = new Thread(new ThreadStart(SetAddFile)); //创建一个线程 thdAddFile.Start(); //启动线程 } public delegate void AddFile(); //定义委托线程 public void SetAddFile() { this.Invoke(new AddFile(RunAddFile)); //对指定的线程进行托管 } public void RunAddFile() { TreeNode TNode = new TreeNode(); File_Copy(treeView1,tempstr,TNode,0); //执行遍历方法 Thread.Sleep(0); //挂起主线程 thdAddFile.Abort(); //退出线程 } /// /// 一个递归方法用来遍历制定文件夹下的 /// 所有子文件夹河文件 /// /// TreeView控件 /// 指定文件夹的路径 /// TreeView控件的当前节点 /// 指定是文件还是文件夹 private void File_Copy(TreeView TV,string Sdir,TreeNode TNode,int n) { DirectoryInfo dir = new DirectoryInfo(Sdir); try { if (!dir.Exists) //判断所指文件或文件夹是否存在 return; DirectoryInfo dirD = dir as DirectoryInfo; if (dirD == null) return; else { if (n == 0) { TNode = TV.Nodes.Add(dirD.Name); //添加文件夹的名称 TNode.Tag = 1; } else { TNode = TNode.Nodes.Add(dirD.Name); //文件夹中添加子文件夹的名称 TNode.Tag = 1; } } FileSystemInfo[] files = dirD.GetFileSystemInfos(); //获取文件夹中所有文件和文件夹 foreach (FileSystemInfo FSys in files) //对单个FileSystemInfo进行判断 是文件夹则递归 { FileInfo file = FSys as FileInfo; if (file != null) //是文件 进行操作 { FileInfo SFinfo = new FileInfo(file.DirectoryName + "\\" + file.Name); //文件的原始路径 TNode.Nodes.Add(SFinfo.Name); //添加文件 TNode.Tag = 1; } else { File_Copy(TV,Sdir+"\\"+FSys.ToString(),TNode,1); //对文件夹进行递归 } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } }

  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3