首页 > 代码库 > 01-资料管理器(Directory/DirectoryInfo操作文件夹类)

01-资料管理器(Directory/DirectoryInfo操作文件夹类)

public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            DirectoryInfo demoDir = new DirectoryInfo("demo");//获取demo目录            DirectoryInfo[] direInfo = demoDir.GetDirectories();//获取demo文件夹下的所有直接子文件夹            foreach (DirectoryInfo item in direInfo)//把文件夹加到treeView上            {                TreeNode tNode = treeView1.Nodes.Add(item.Name);                LoadData(item.FullName, tNode);//item.FullName 获取全路径名称            }        }        private void LoadData(string path, TreeNode treeNode)        {            //1.SearchOption.TopDirectoryOnly 获取当前路径文件夹下的所有直接子文件,文件后缀 .txt            string[] files = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly);            foreach (string item in files)//把文件加到treeView上            {                TreeNode nodeFile = treeNode.Nodes.Add(Path.GetFileName(item));                nodeFile.Tag = item;////每次绑定文件节点的时候,都把当前文件的完整路径绑定到Tag中。            }            //2.获取当前路径下的所有直接子文件夹            string[] dirs = Directory.GetDirectories(path);            foreach (string item in dirs)            {                TreeNode node = treeNode.Nodes.Add(Path.GetFileName(item));////Add方法的返回值就是,刚刚增加的这个节点。                LoadData(item, node); //递归调用方法自己。            }        }        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)        {            if (e.Node != null && e.Node.Tag != null)            {                textBox1.Text = File.ReadAllText(e.Node.Tag.ToString(), Encoding.Default);            }        }    }

 

显示效果:

技术分享 

01-资料管理器(Directory/DirectoryInfo操作文件夹类)