protected void FolderList1()
{
DropDownList ddl=this.ddlHead;
ListItem lt;
string sValue=""; string sHeadDir=Server.MapPath("./..")+"\\XSLTTest"; //文件夹路经
Response.Write("查看"+sHeadDir+"目录下*.aspx文件:");
if(System.IO.Directory.Exists(sHeadDir))
{
string [] sHead=System.IO.Directory.GetFiles(sHeadDir,"*.aspx");  //查询指定扩展名的文件
for(int i=0;i<sHead.Length;i++)
{
sValue=sHead[i].ToString();
sValue=sValue.Substring(sValue.LastIndexOf("\\")+1,sValue.Length-sValue.LastIndexOf("\\")-1);
sValue=sValue.Split('.')[0].ToString(); lt=new ListItem(sValue,sValue);
ddl.Items.Add(lt);
}
}
}

解决方案 »

  1.   

    方法2:
    查找文件夹sDir下的满足*s*.aspx的文件protected void FolderList2(string sDir)
    {
    try
    {
    foreach (string d in Directory.GetDirectories(sDir)) 
    {
    foreach (string f in Directory.GetFiles(d,"*s*.aspx")) 
    {
    lstFilesFound.Items.Add(f);
    }
    FolderList2(d);
    }
    }
    catch (System.Exception excpt) 
    {
    Response.Write(excpt.Message);
    }
    }
      

  2.   

    private TreeNode FillTreeNode (DirectoryInfo dirInfo)
    {
    TreeNode node = new TreeNode(dirInfo.Name);
    DirectoryInfo[] dis = dirInfo.GetDirectories();
    foreach(DirectoryInfo di in dis)
    {
    node.Nodes.Add(FillTreeNode(di));
    }
    FileInfo[] curDirFiles = dirInfo.GetFiles();
    foreach(FileInfo fInfo in curDirFiles)
    {
                if (fInfo.Extension == ".zip")
    node.Nodes.Add(fInfo.Name);
    }
    return node;
    }
      

  3.   

    private TreeNode FillTreeNode (DirectoryInfo dirInfo)
    {
    TreeNode node = new TreeNode(dirInfo.Name);
    DirectoryInfo[] dis = dirInfo.GetDirectories();
    foreach(DirectoryInfo di in dis)
    {
    node.Nodes.Add(FillTreeNode(di));
    }
    FileInfo[] curDirFiles = dirInfo.GetFiles("*.mp3");
    foreach(FileInfo fInfo in curDirFiles)
    {
                //  这一行可以删掉了if (fInfo.Extension == ".zip")
    node.Nodes.Add(fInfo.Name);
    }
    return node;
    }
      

  4.   

    我刚写了一个类似的东东,贴出来了
    private void GetDirs(string strDir)
    {
    GetDotNetFiles(strDir);
              string [] dirs = Directory.GetDirectories(strDir);
    foreach(string dir in dirs)
    {
    GetDirs(dir);
    }

    }
    private void GetDotNetFiles(string strDir)
    {

    string[] dirs = Directory.GetFiles(strDir, "*.cs");
    foreach (string dir in dirs) 
    {
    try
    {
    StreamReader sr =  new StreamReader(dir); string strContent = sr.ReadToEnd(); sr.Close(); FileStream fs = new FileStream(dir, FileMode.OpenOrCreate, FileAccess.ReadWrite , FileShare.ReadWrite );

    fs.Position = 0;
    string st = "//************************************************************" + Convert.ToChar(13) + Convert.ToChar(10);
    info = new UTF8Encoding(true).GetBytes(st);
    fs.Write(info, 0, info.Length);

    info = new UTF8Encoding(true).GetBytes(strContent);
    fs.Write(info, 0, info.Length); fs.Close(); this.textBox2.Text = this.textBox2.Text + Convert.ToChar(13) + Convert.ToChar(10) + dir + " add Comments Success";
    }
    catch (Exception ex)
    {
    this.textBox2.Text = this.textBox2.Text + Convert.ToChar(13) + Convert.ToChar(10) + dir + " add Comments Failed: --" + ex.Message; } }
    }
      

  5.   

    GetDotNetFiles是对选出来的cs文件做一下处理,有部分雷同代码被我删除了,
      

  6.   

    Tester t=new Tester();
          string theDirectory="@c:\WinNT";
          DirectoryInfo dir=new DirectoryInfo(theDirectory);       t.ExploreDirectory(dir);   Console.WriteLine("\n\n{0} files in {1}directories found.\n",fileCounter,dirCounter);
     private void ExploreDirectory(DirectoryInfo dir)
    {
         indentLevel++;
    for(int i=0;i<indentLevel;i++)
      Console.Write("");
    Console.WriteLine("[0]{1}{2}\n",indentLevel,dir.Name,dir.LastAccessTime); FileInfo[] fileInDir=dir.GetFiles();
    foreach(FileInfo file in filesInDir)
    {
      for(int i=0;i<indentLevel+1;i++)
      Console.Write("");
    Console.WriteLine("{0}[{1}]Size:{2} bytes",
     file.Name,
     file.LastWriteTime,
     file.Length);
     fileCounte++;
    }
    DirectoryInfo[] directories=dir.GetDirectories();
    foreach(DirectoryInfo newDir in directories)
    {
       dirCounter++;
       ExploreDirectory(newDir);
    }
    indentLevel--
    }
    static int dirCounter=1;
    static int indentLevel=-1;
    static int fileCounter=0;
    }
    }