private void FindFile2(string strPath)
{
DirectoryInfo mydir = new DirectoryInfo(strPath);
foreach (DirectoryInfo Folder in mydir.GetDirectories())
{
foreach (FileInfo f in mydir.GetFiles("*.*"))
{
lb3.Items.Add(mydir + f.ToString() + "\\ ");
}
FindFile2(mydir+Folder.ToString()+"\\");
}
}只遍历一层,求解 。
另:打了断点,不进入相应方法的代码,而直接出结果,求解
{
DirectoryInfo mydir = new DirectoryInfo(strPath);
foreach (DirectoryInfo Folder in mydir.GetDirectories())
{
foreach (FileInfo f in mydir.GetFiles("*.*"))
{
lb3.Items.Add(mydir + f.ToString() + "\\ ");
}
FindFile2(mydir+Folder.ToString()+"\\");
}
}只遍历一层,求解 。
另:打了断点,不进入相应方法的代码,而直接出结果,求解
protected void ShowDirs(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
if (dir.Exists)
{
foreach(DirectoryInfo subDir in dir.GetDirectories())
{
Response.Write(subDir.FullName + "<br />");
ShowDirs(subDir.FullName);
}
foreach (FileInfo file in dir.GetFiles())
{
Response.Write(file.FullName + "<br />");
}
}
}
{
BindForeach(Server.MapPath("a1"));
}
public void BindForeach(string path)
{
DirectoryInfo info = new DirectoryInfo(path);
foreach (DirectoryInfo dir in info.GetDirectories())
{
Response.Write(dir.FullName + "<br/>");
BindForeach(path + "/" + dir.Name);
}
foreach (FileInfo f in info.GetFiles())
{
Response.Write(f.Name + "<br/>");
}
}
#region 获取指定目录的所有文件
/// <summary>
/// 获取指定目录的所有文件
/// </summary>
/// <param name="dir"></param>
/// <returns></returns>
public static string[] ListFiles(string dir)
{
string[] files = Directory.GetFiles(dir);
ArrayList result = new ArrayList();
for (int i = 0; i < files.Length; i++)
result.Add(files[i]);
return (string[])result.ToArray(typeof(string));
}
#endregion
//
#region 获取指定目录下的子目录
/// <summary>
/// 获取指定目录下的子目录
/// </summary>
/// <param name="dir"></param>
/// <returns></returns>
public static string[] ListDirectories(string dir)
{
string[] Directories = Directory.GetDirectories(dir);
ArrayList result = new ArrayList();
for (int i = 0; i < Directories.Length; i++)
result.Add(Directories[i].Replace(dir, ""));
return (string[])result.ToArray(typeof(string));
}
#endregion
//
#region 遍历目录
/// <summary>
/// 遍历目录
/// </summary>
/// <param name="dir"></param>
/// <returns></returns>
public static string[] ListFolder(string FirstDir,string dir)
{
ArrayList result = new ArrayList();
string[] files = ListFiles(dir);
for (int i = 0; i < files.Length; i++)
result.Add(files[i].Replace(FirstDir, "").Replace("\\", "/"));
//递归
string[] Directories = ListDirectories(dir);
string[] fileList;
for (int i = 0; i < Directories.Length; i++)
{
if (Directory.Exists(dir + Directories[i]))
{
fileList = ListFolder(FirstDir,dir + Directories[i]);
for (int j = 0; j < fileList.Length; j++)
result.Add(fileList[j].Replace(FirstDir, "").Replace("\\","/"));
}
else
continue;
}
return (string[])result.ToArray(typeof(string));
}
#endregion