asp.net 获取指定文件夹下所有子目录及文件(树形)
asp.net 获取指定文件夹下所有子目录及文件(树形)
发布时间:2016-12-29 来源:查字典编辑
摘要:#region获取指定文件夹下所有子目录及文件(树形)/*****************************************函...

#region获取指定文件夹下所有子目录及文件(树形)

/****************************************

*函数名称:GetFoldAll(stringPath)

*功能说明:获取指定文件夹下所有子目录及文件(树形)

*参数:Path:详细路径

*调用示列:

*stringstrDirlist=Server.MapPath("templates");

*this.Literal1.Text=EC.FileObj.GetFoldAll(strDirlist);

*****************************************/

///<summary>

///获取指定文件夹下所有子目录及文件

///</summary>

///<paramname="Path">详细路径</param>

publicstaticstringGetFoldAll(stringPath)

{

stringstr="";

DirectoryInfothisOne=newDirectoryInfo(Path);

str=ListTreeShow(thisOne,0,str);

returnstr;

}

///<summary>

///获取指定文件夹下所有子目录及文件函数

///</summary>

///<paramname="theDir">指定目录</param>

///<paramname="nLevel">默认起始值,调用时,一般为0</param>

///<paramname="Rn">用于迭加的传入值,一般为空</param>

///<returns></returns>

publicstaticstringListTreeShow(DirectoryInfotheDir,intnLevel,stringRn)//递归目录文件

{

DirectoryInfo[]subDirectories=theDir.GetDirectories();//获得目录

foreach(DirectoryInfodirinfoinsubDirectories)

{

if(nLevel==0)

{

Rn+="├";

}

else

{

string_s="";

for(inti=1;i<=nLevel;i++)

{

_s+="│";

}

Rn+=_s+"├";

}

Rn+="<b>"+dirinfo.Name.ToString()+"</b><br/>";

FileInfo[]fileInfo=dirinfo.GetFiles();//目录下的文件

foreach(FileInfofInfoinfileInfo)

{

if(nLevel==0)

{

Rn+="│├";

}

else

{

string_f="";

for(inti=1;i<=nLevel;i++)

{

_f+="│";

}

Rn+=_f+"│├";

}

Rn+=fInfo.Name.ToString()+"<br/>";

}

Rn=ListTreeShow(dirinfo,nLevel+1,Rn);

}

returnRn;

}

/****************************************

*函数名称:GetFoldAll(stringPath)

*功能说明:获取指定文件夹下所有子目录及文件(下拉框形)

*参数:Path:详细路径

*调用示列:

*stringstrDirlist=Server.MapPath("templates");

*this.Literal2.Text=EC.FileObj.GetFoldAll(strDirlist,"tpl","");

*****************************************/

///<summary>

///获取指定文件夹下所有子目录及文件(下拉框形)

///</summary>

///<paramname="Path">详细路径</param>

///<paramname="DropName">下拉列表名称</param>

///<paramname="tplPath">默认选择模板名称</param>

publicstaticstringGetFoldAll(stringPath,stringDropName,stringtplPath)

{

stringstrDrop="<selectname=""+DropName+""id=""+DropName+""><optionvalue="">--请选择详细模板--</option>";

stringstr="";

DirectoryInfothisOne=newDirectoryInfo(Path);

str=ListTreeShow(thisOne,0,str,tplPath);

returnstrDrop+str+"</select>";

}

///<summary>

///获取指定文件夹下所有子目录及文件函数

///</summary>

///<paramname="theDir">指定目录</param>

///<paramname="nLevel">默认起始值,调用时,一般为0</param>

///<paramname="Rn">用于迭加的传入值,一般为空</param>

///<paramname="tplPath">默认选择模板名称</param>

///<returns></returns>

publicstaticstringListTreeShow(DirectoryInfotheDir,intnLevel,stringRn,stringtplPath)//递归目录文件

{

DirectoryInfo[]subDirectories=theDir.GetDirectories();//获得目录

foreach(DirectoryInfodirinfoinsubDirectories)

{

Rn+="<optionvalue=""+dirinfo.Name.ToString()+""";

if(tplPath.ToLower()==dirinfo.Name.ToString().ToLower())

{

Rn+="selected";

}

Rn+=">";

if(nLevel==0)

{

Rn+="┣";

}

else

{

string_s="";

for(inti=1;i<=nLevel;i++)

{

_s+="│";

}

Rn+=_s+"┣";

}

Rn+=""+dirinfo.Name.ToString()+"</option>";

FileInfo[]fileInfo=dirinfo.GetFiles();//目录下的文件

foreach(FileInfofInfoinfileInfo)

{

Rn+="<optionvalue=""+dirinfo.Name.ToString()+"/"+fInfo.Name.ToString()+""";

if(tplPath.ToLower()==fInfo.Name.ToString().ToLower())

{

Rn+="selected";

}

Rn+=">";

if(nLevel==0)

{

Rn+="│├";

}

else

{

string_f="";

for(inti=1;i<=nLevel;i++)

{

_f+="│";

}

Rn+=_f+"│├";

}

Rn+=fInfo.Name.ToString()+"</option>";

}

Rn=ListTreeShow(dirinfo,nLevel+1,Rn,tplPath);

}

returnRn;

}

#endregion

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类