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);
            }
        }
    }

 

顯示效果:node

 

相關文章
相關標籤/搜索