Directory类和DirectoryInfo类的说明:用于操作目录
资源管理器的事例证明:
环境:winform
控件:TreeView控件
语言:C#
知识;directory类、directoryinfo类、path类
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<dices.length;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<files.Length;i++)
{
TreeNode nodes= node.Nodes.add(Path.GetfileName(files[i]));
nodes.Tag=files[i];
}
//获取文件夹下的所有的二级文件夹
String dire=Directory.GetDoirectories(path);
for(int i=0;i<dire.Length;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时,则会将文件夹删除