Directory类和Directioryinfo类

Directory类和DirectoryInfo类的说明:用于操作目录

资源管理器的事例证明:

环境:winform

控件:TreeView控件

语言:C# 

知识;directory类、directoryinfo类、path类

Directory类和Directioryinfo类_第1张图片

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace mulutree
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //在form1窗体加载时,进行显示

        private void Form1_Load(object sender, EventArgs e)
        {
           fun1();
        }

 #region  第一级的节点的加载

public void fun1()

{

DirectioryInfo dic=new DirectoryInfo(@"d\:某个文件夹");

DirectoryInfo[] dices=dic.GetDirectories();//获取目录下的子目录:(这里只会获得第一级目录下的子目录)

for(int  i=0; i

  TreeNode node=   this.TreeView.Nodes.add(Path.GetfileName(dices[i]));//目录添加到节点的位置

  node. Tag=dices[i];//用于存储目录的路径

  fun2(dices[i],node);

  }

}

#endregion

#region  利用递归的思想

publc void fun2(string path ,TreeNode node)

{

 //获取文件夹下的所有的文本文件

stirng files=Directory.GetFiles(path);//获取文件夹中的文件

for(int i=0 ;i

{

TreeNode nodes= node.Nodes.add(Path.GetfileName(files[i]));

nodes.Tag=files[i];

}

//获取文件夹下的所有的二级文件夹

String dire=Directory.GetDoirectories(path);

for(int i=0;i

{

 Treenode nod=node.Node.add(Path.GetFileName(dire[i]));

 nod.Tag=dire[i];

fun2(dire[i],node);

}

}

#endregion

知识的补充:

1目录的删除

Directory.Delete(string path)//删除某个目录(这个目录必须是空的)

Directory.Delete(string path,bool recursive)//第二个参数的意思:默认值是false:不会将不是空的文件夹删除;如果改成true时,则会将文件夹删除




你可能感兴趣的:(winform)