private void button1_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add("视频其他");
string path = @"E:\MyCSharpProgram";
DG(path, treeView1.Nodes[0]);
}
void DG(string path, TreeNode TN)
{
string[] drr = Directory.GetDirectories(path);
foreach (string s in drr)
{
TreeNode tn = TN.Nodes.Add(Path.GetFileName(s));
DG(s, tn);
}
string[] frr = Directory.GetFiles(path);
foreach (string ss in frr)
{
TN.Nodes.Add(Path.GetFileName(ss));
}
}
他的代码非常简单,就是没看懂。两个foreach循环都用的 GetFileName()函数,不知道什么意思?
7 个解决方案
#1
第一个是主要完成递归的获得所有文件夹
第二个是文件夹遍历结束后对每个文件夹节点增加文件
可以先理解一下递归,很好懂
第二个是文件夹遍历结束后对每个文件夹节点增加文件
可以先理解一下递归,很好懂
#2
void DG(string path, TreeNode TN)
{
string[] drr = Directory.GetDirectories(path);
foreach (string s in drr)
{
TreeNode tn = TN.Nodes.Add(Path.GetFileName(s));
DG(s, tn);
}
string[] frr = Directory.GetFiles(path);
foreach (string ss in frr)
{
TN.Nodes.Add(Path.GetFileName(ss));
}
}
这个程序是加载文件夹下面的文件或文件夹。Path.GetFileName是取名称。
{
string[] drr = Directory.GetDirectories(path);
foreach (string s in drr)
{
TreeNode tn = TN.Nodes.Add(Path.GetFileName(s));
DG(s, tn);
}
string[] frr = Directory.GetFiles(path);
foreach (string ss in frr)
{
TN.Nodes.Add(Path.GetFileName(ss));
}
}
这个程序是加载文件夹下面的文件或文件夹。Path.GetFileName是取名称。
#3
ps:
至于GetFileName只是获得对应的文件夹或者文件的名称,不是关键点
至于GetFileName只是获得对应的文件夹或者文件的名称,不是关键点
#4
明白了点楼上们的意思,就是感觉GetFileName()函数怪怪的,看名字只是获取文件的名字。
而MSDN上的解释也是 :返回指定路径字符串的文件名和扩展名。
#5
嘿嘿,当场解决问题当场结贴!
#6
Path.GetFileName()是获取文件名如:
@"E:\MyCSharpProgram"就获得"MyCSharpProgram"
这段代码是用了个迭代的方法将所有文件夹下所有文件放入树中
通过反复调用DG()函数遍历
这个挺简单了,LZ看懂其他的以这个为主再加就好!
@"E:\MyCSharpProgram"就获得"MyCSharpProgram"
这段代码是用了个迭代的方法将所有文件夹下所有文件放入树中
通过反复调用DG()函数遍历
这个挺简单了,LZ看懂其他的以这个为主再加就好!
#7
谢谢,有情后补,前面结了贴。
#1
第一个是主要完成递归的获得所有文件夹
第二个是文件夹遍历结束后对每个文件夹节点增加文件
可以先理解一下递归,很好懂
第二个是文件夹遍历结束后对每个文件夹节点增加文件
可以先理解一下递归,很好懂
#2
void DG(string path, TreeNode TN)
{
string[] drr = Directory.GetDirectories(path);
foreach (string s in drr)
{
TreeNode tn = TN.Nodes.Add(Path.GetFileName(s));
DG(s, tn);
}
string[] frr = Directory.GetFiles(path);
foreach (string ss in frr)
{
TN.Nodes.Add(Path.GetFileName(ss));
}
}
这个程序是加载文件夹下面的文件或文件夹。Path.GetFileName是取名称。
{
string[] drr = Directory.GetDirectories(path);
foreach (string s in drr)
{
TreeNode tn = TN.Nodes.Add(Path.GetFileName(s));
DG(s, tn);
}
string[] frr = Directory.GetFiles(path);
foreach (string ss in frr)
{
TN.Nodes.Add(Path.GetFileName(ss));
}
}
这个程序是加载文件夹下面的文件或文件夹。Path.GetFileName是取名称。
#3
ps:
至于GetFileName只是获得对应的文件夹或者文件的名称,不是关键点
至于GetFileName只是获得对应的文件夹或者文件的名称,不是关键点
#4
明白了点楼上们的意思,就是感觉GetFileName()函数怪怪的,看名字只是获取文件的名字。
而MSDN上的解释也是 :返回指定路径字符串的文件名和扩展名。
#5
嘿嘿,当场解决问题当场结贴!
#6
Path.GetFileName()是获取文件名如:
@"E:\MyCSharpProgram"就获得"MyCSharpProgram"
这段代码是用了个迭代的方法将所有文件夹下所有文件放入树中
通过反复调用DG()函数遍历
这个挺简单了,LZ看懂其他的以这个为主再加就好!
@"E:\MyCSharpProgram"就获得"MyCSharpProgram"
这段代码是用了个迭代的方法将所有文件夹下所有文件放入树中
通过反复调用DG()函数遍历
这个挺简单了,LZ看懂其他的以这个为主再加就好!
#7
谢谢,有情后补,前面结了贴。