#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在线备份、压缩和修复Access数据库示例代码
★ Asp.net获取服务器指定文件夹目录文件并提供下载的方法
★ .NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法
★ asp.net neatUpload 支持大文件上传组件