下面的方法只能输出一级目录下的所有文件,请问如何遍历所有目录下的文件,谢谢
string[] FileNames = Directory.GetFiles(this.Server.MapPath(@"car\"));
if(FileNames.Length > 0)
{
for(int i=0;i<FileNames.Length;i++)
{
string[] files = FileNames[i].Trim().Split('\\');
string filesname = files[files.Length-1].Trim();
this.Response.Write(filesname +"<br/>");
}}
string[] FileNames = Directory.GetFiles(this.Server.MapPath(@"car\"));
if(FileNames.Length > 0)
{
for(int i=0;i<FileNames.Length;i++)
{
string[] files = FileNames[i].Trim().Split('\\');
string filesname = files[files.Length-1].Trim();
this.Response.Write(filesname +"<br/>");
}}
里面还应该加上Directory.GetDirectories得到目录
{
//获取当前目录下的所有文件并显示
string[] files=System.IO.Directory.GetFiles(path);
foreach(string s in files)
{
Response.Write(s+"<br>");
}
//获取当前目录下的所有子目录并进新递归调用
string[] dir=System.IO.Directory.GetDirectories(path);
foreach(string s in dir)
{
this.GetFiles(s);
}
}
{
string[] fileNames = Directory.GetFiles(path);
string[] directories = Directory.GetDirectories(path);
foreach (string file in fileNames)
{
Console.WriteLine("Filename:{0}",file);
}
foreach (string dir in directories)
{
Console.WriteLine("Directoriesname:{0}",dir);
getfiles(dir);
}
}
private void Button2_Click(object sender, System.EventArgs e)
{
getfiles(@"F:\GetPageHtml\"); }
private void getfiles(string path)
{
string[] fileNames = Directory.GetFiles(path);
string[] directories = Directory.GetDirectories(path);
foreach (string file in fileNames)
{
Response.Write("Filename="+file+"<br>");
}
foreach (string dir in directories)
{
Response.Write("Directoriesname="+dir);
getfiles(dir);
}
}
如何遍历出所有文件夹中只含有test.xml这个文件的路径信息,谢谢
if(file.Remove(0,file.LastIndexOf(@"\")).Replace(@"\","")=="test.xml")
Response.Write(file+"<br>");
{
if( Directory.GetFiles(path,@"test.xml").Length>0)
return path;
string[] directories = Directory.GetDirectories(path);
foreach (string dir in directories)
{
string tpath =getfiles(dir);
if(tpath != String.Empty) return tpath;
}
return String.Empty;
}
foreach(string directname in Directory.GetDirectories(Server.MapPath(".")))
{
DataTable dt=new DataTable();
DataTable dt2=new DataTable();
dt.Columns.Add(new DataColumn("name",typeof(String)));
dt2.Columns.Add(new DataColumn("name",typeof(String)));
string name;
int start;
int start2;
start=directname.LastIndexOf("\\");
name=directname.Substring(start+1,directname.Length-start-1);
if(name=="photo")
{
s_photo=Directory.GetFiles(Server.MapPath(".")+"\\photo");
for(int i=0;i<s_photo.Length;i++)
{
DataRow dr=dt.NewRow();
start2=s_photo[i].LastIndexOf("\\");
s_photo[i]=s_photo[i].Substring(start2+1,s_photo[i].Length-start2-1);
dr["name"]=s_photo[i].ToString();
dt.Rows.Add(dr);
}
this.DataGrid2.DataKeyField="name";
this.DataGrid2.DataSource=dt;
this.DataGrid2.DataBind();
}
if(name=="url")
{
s_url=Directory.GetFiles(Server.MapPath(".")+"\\url");
for(int i=0;i<s_url.Length;i++)
{
DataRow dr2=dt2.NewRow();
start2=s_url[i].LastIndexOf("\\");
string s=s_url[i].Substring(start2+1,s_url[i].Length-start2-1);
s_url[i]=s;
dr2["name"]=s_url[i].ToString();
dt2.Rows.Add(dr2);
}
this.DataGrid3.DataKeyField="name";
this.DataGrid3.DataSource=dt2;
this.DataGrid3.DataBind();
}
}