用数据取出来。存到数组中,public
class
IOtest{
public
static
void
main(String
args){
String
str
=
"c:\\"//假设要读c盘中的所有文件,也可以自己写一个文件路径
File
f
=
new
File(str)
fun(f)
}
public
static
void
fun(File
f){
if(f.idDirectory()){
File
file
=
f.listFile()//列出所有目录
try{
for(int
i=0
i<file.length
i++){
fun(file)
}
}carch(Exception
e){
}else{
System.out.print(f)
}
}
}}上面这段代码是把目录下的文件全部列出来,你可以再写一个读取的
public TreeNode getAllDirectory(string Address)//获取当前节点目录下的文件,返回节点盘符{
string nodeText=Path.GetFileName(Address)//截取路径上最后一个结点名
TreeNode temp = new TreeNode(nodeText)//盘符
string[] directory_name = Directory.GetDirectories(Address)//该盘符下的文件
string[] file_name = Directory.GetFiles(Address)
if (directory_name.Length >0)//如果没子目录依然返回数组实例,用Length判断
{
for (int i = 0 i < directory_name.Length i++)
{
var subNode=getAllDirectory(directory_name[i])
temp.Nodes.Add(subNode) //要把子目录结点连接到当前结点上的
}
}
//这个添加文件列表
if (file_name.Length > 0)
{
var nodes = from item in file_name select new TreeNode(Path.GetFileName(item))
temp.Nodes.AddRange(nodes.ToArray())
}
return temp//总结点
}
private void button1_Click_1(object sender, EventArgs e)
{
string Address = @"D:\a\b"
treeView1.Nodes.Add(getAllDirectory(Address))
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)