[C#]TreeView实现文件结构查看器
2017-05-05 08:51
260 查看
最近学习Android想对于Android的项目结构研究研究,但是一级级目录点进去实在是太麻烦了,就想自己写一个文件结构查看器。
大体思路:
1.遍历文件夹下文件和文件夹,把当前的文件/文件夹的名字添加到一个节点
2.判断如果是文件,则遍历下一个文件,如果是文件夹则重复1步骤。
程序运行效果:
程序源代码:
大体思路:
1.遍历文件夹下文件和文件夹,把当前的文件/文件夹的名字添加到一个节点
2.判断如果是文件,则遍历下一个文件,如果是文件夹则重复1步骤。
private void createNodes(String rootFile, TreeNode rootNode) { DirectoryInfo dInfo = new DirectoryInfo(rootFile); //遍历当前文件系统下的所有文件和文件夹 foreach (FileSystemInfo info in dInfo.GetFileSystemInfos()) { TreeNode node = new TreeNode(); node.Text = info.Name; rootNode.Nodes.Add(node); //文件夹 String file = info.FullName; if(Directory.Exists(file)) { createNodes(file, node); } } }
程序运行效果:
程序源代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace VisualFiles { public partial class Main : Form { public Main() { InitializeComponent(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void clearButton_Click(object sender, EventArgs e) { textBox.Text = ""; treeView.Nodes.Clear(); } private void doButton_Click(object sender, EventArgs e) { String rootFile = textBox.Text.ToString().Trim(); if (!Directory.Exists(rootFile)) { MessageBox.Show("文件夹位置错误!"); } else { //根节点 TreeNode rootNode = new TreeNode(); rootNode.Text = rootFile; //递归创建节点 createNodes(rootFile, rootNode); //TreeView treeView.Nodes.Add(rootNode); treeView.ExpandAll(); } } private void createNodes(String rootFile, TreeNode rootNode) { DirectoryInfo dInfo = new DirectoryInfo(rootFile); //遍历当前文件系统下的所有文件和文件夹 foreach (FileSystemInfo info in dInfo.GetFileSystemInfos()) { TreeNode node = new TreeNode(); node.Text = info.Name; rootNode.Nodes.Add(node); //文件夹 4000 String file = info.FullName; if(Directory.Exists(file)) { createNodes(file, node); } } } } }
相关文章推荐
- C#实现树型结构TreeView节点拖拽的简单功能(转)
- 本文使用c#通过oledb可获取excel文件表的结构信息,同理也可以获得access等数据库的表结构信息,实现如下:
- C#实现树型结构TreeView节点拖拽的简单功能,附全部源码,供有需要的参考
- C#实现树型结构TreeView节点拖拽的简单功能,附全部源码,供有需要的参考
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- C#中实现文件拖放打开的方法
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现!
- 用C#实现基于查寻字符串的文件行查询器(3)-设计与实现
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- C#实现的列出目录下所有子目录和文件的程序(附思路)
- C#实现的列出目录下所有子目录和文件的程序(附思路)
- C#实现目标路径下文件递归的类
- 用C#实现基于查寻字符串的文件行查询器(1)-概述
- C#实现的列出目录下所有子目录和文件的程序(附思路)
- 用C#实现Web文件的上传
- 文件上传的实现(C#)
- 数据结构之应用 "栈(Stack)" 实现: 解析算术表达式及计算求值 (C#/Java)
- 在ASP.NET中实现多文件上传(C#)