.NET循环遍历文件夹下所有文件.取文件夹和文件名文件内容
protected void Button14_Click(object sender, EventArgs e)
{
string strfilepath = @"F:\a";//要循环的文件夹路径
string strfilenames = strfilepath;
if (strfilenames.Length > 2)
{
StringCollection sc01 = GetAllFiles(@"" + strfilenames + "");
}
string a01 = "";
}
/// <summary>
/// 遍历 rootdir目录下的所有文件
/// </summary>
/// <param name="rootdir">目录名称</param>
/// <returns>该目录下的所有文件</returns>
public StringCollection GetAllFiles(string rootdir)
{
StringCollection result = new StringCollection();
GetAllFiles(rootdir, result);
return result;
}
/// <summary>
/// 作为遍历文件函数的子函数
/// </summary>
/// <param name="parentDir">目录名称</param>
/// <param name="result">该目录下的所有文件</param>
public void GetAllFiles(string parentDir, StringCollection result)
{
StringBuilder sbstr01 = new StringBuilder();//第一级
//获取目录parentDir下的所有的子文件夹
string[] dir = Directory.GetDirectories(parentDir);
for (int i = 0; i < dir.Length; i++)
{
//sbstr01.Append(" 一级文件夹:</br>" + dir[i] + "</br>");
Common.CreateWebLog("", " 一级文件夹:</br>" + dir[i] + "</br>");//输入内容到文本文件里
GetAllFiles(dir[i], result);
}
//获取目录parentDir下的所有的文件,并过滤得到所有的文本文件
string[] file = Directory.GetFiles(parentDir, "*");
for (int i = 0; i < file.Length; i++)
{
FileInfo fi = new FileInfo(file[i]);
//if (fi.Extension.ToLower() == ".htm" || fi.Extension.ToLower() == ".html" || fi.Extension.ToLower() == ".asp" || fi.Extension.ToLower() == ".aspx")
//{
// result.Add(file[i]);
//}
sbstr01.Append(" 二级文件夹:</br>" + file[i] + "</br>");
StreamReader sr = new StreamReader(file[i], System.Text.Encoding.Default);
String input = sr.ReadToEnd();
sr.Close();
string strout = input;
sbstr01.Append(" 三级文件:</br>" + strout + "</br>");
result.Add(file[i]);
}
Common.CreateWebLog("", sbstr01.ToString());
string str1172 = "";
}
输入到文件上结果如下:
一级文件夹:</br>F:\a\三镜一丝</br>
二级文件夹:</br>F:\a\三镜一丝\三镜一丝其他.txt</br>
三级文件里的内容为:</br>
做三镜一丝
三镜一丝专题
三镜一丝技术
三镜一丝优势
三镜一丝视频