获取文件夹下的子文件夹及文件的名称
文件 获取 文件夹 名称
2023-09-14 09:00:20 时间
实现效果:
知识运用:
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(); //退出线程 } /// <summary> /// 一个递归方法用来遍历制定文件夹下的 /// 所有子文件夹河文件 /// </summary> /// <param name="TV">TreeView控件</param> /// <param name="Sdir">指定文件夹的路径</param> /// <param name="TNode">TreeView控件的当前节点</param> /// <param name="n">指定是文件还是文件夹</param> 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; } }
相关文章
- 获取PHP文件绝对地址$_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- IOS中获取各种文件的目录路径的方法
- Java获取一个路径下指定后缀名的所有文件
- Win10系列:JavaScript获取文件和文件夹列表
- Cuba获取属性文件中的配置
- Web项目替换jar包中的文件的方法
- perl 遍历文件夹,获取全部文件
- 获取文件夹下的子文件夹及文件的名称
- 使用curl命令获取文件下载速度
- 获取下载文件的大小
- AndroidManifest.xml文件详解(activity)(二)
- PyQt5显示日期选择框,获取日期保存文件
- PCL 从LAS文件中获取点云的坐标
- linux md5sum获取文件指纹数值并使用cut切割
- System.BadImageFormatException: 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
- Eclipse 安装了 Groovy 开发插件之后,双击打不开 .java 文件了
- Atitit spring单元测试 注解 获取服务名 Spring文件单独放在一个文件夹,去掉dubbo配置,方便测试 里面包含的mybatis 找不到,只好设置成相对于class绝对路径可以了
- Atitit.检测文本文件的编码 自动获取文件的中文编码
- Atitit.js获取上传文件全路径
- Java中的URL类&根据url获取网络文件&快速入门Java中的URL(网络编程)
- VC中获取当前exe文件运行路径
- Qt 获取文件夹下所有文件
- linux stat系统调用,获取文件信息。
- C#获取文件版本信息
- shell脚本获取文件中的版权(Copyright)
- 需要获取trustedinstaller权限才能删除文件,删不了
- linux c 通过文件描写叙述符获取文件名称
- 8.3 fileinput--多文件输入操作
- WEB漏洞攻防 - 文件上传漏洞 - 配和文件解析漏洞绕过安全检测突破文件上传漏洞