/// <summary>
/// <C>得到指定目录下匹配的文件</C>
/// </summary>
/// <param name="Files">找到后文件存放在这里</param>
/// <param name="path">指定的目录</param>
/// <param name="pattern">文件名样式</param>
public static void GetFiles(ref System.Collections.ArrayList Files,string path,string pattern)
{
if(!System.IO.Directory.Exists(path))return;
string[] files = System.IO.Directory.GetFiles(path,pattern);
for(int i=0;i<files.Length ;i++)
Files.Add(files[i]);
files = System.IO.Directory.GetDirectories(path);
for(int i=0;i<files.Length ;i++)
GetFiles(ref Files,files[i],pattern);
}

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3734/3734836.xml?temp=.8865167
    这个下面我贴的有个c#资源管理器的例子,你参考一下,或许有帮助
      

  2.   

    /// <summary>
    /// 将指定目录下的子目录和文件生成xml文档
    /// </summary>
    /// <param name="targetDir">根目录</param>
    /// <returns>返回XmlDocument对象</returns>
    public static XmlDocument CreateXml(string targetDir)
    {
    XmlDocument myDocument = new XmlDocument();
    XmlDeclaration declaration = myDocument.CreateXmlDeclaration("1.0","utf-8",null);
    myDocument.AppendChild(declaration);
    XmlElement rootElement = myDocument.CreateElement(targetDir.Substring(targetDir.LastIndexOf("\\")+1));
    myDocument.AppendChild(rootElement);
    foreach(string fileName in Directory.GetFiles(targetDir))
    {
    XmlElement childElement = myDocument.CreateElement("File");
    childElement.InnerText = fileName.Substring(fileName.LastIndexOf("\\")+1); 
    rootElement.AppendChild(childElement);
    }
    foreach(string directory in  Directory.GetDirectories(targetDir))
    {
    XmlElement childElement = myDocument.CreateElement("Directory");
    childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("\\")+1));
    rootElement.AppendChild(childElement);
    CreateBranch(directory,childElement,myDocument);
    }
    return myDocument;
    }
    /// <summary>
    /// 生成Xml分支
    /// </summary>
    /// <param name="targetDir">子目录</param>
    /// <param name="xmlNode">父目录XmlDocument</param>
    /// <param name="myDocument">XmlDocument对象</param>
    private static void CreateBranch(string targetDir,XmlElement xmlNode,XmlDocument myDocument)
    {
    foreach(string fileName in Directory.GetFiles(targetDir))
    {
    XmlElement childElement = myDocument.CreateElement("File");
    childElement.InnerText = fileName.Substring(fileName.LastIndexOf("\\")+1); 
    xmlNode.AppendChild(childElement);
    }
    foreach(string directory in  Directory.GetDirectories(targetDir))
    {
    XmlElement childElement = myDocument.CreateElement("Directory");
    childElement.SetAttribute("Name",directory.Substring(directory.LastIndexOf("\\")+1));
    xmlNode.AppendChild(childElement);
    CreateBranch(directory,childElement,myDocument);
    }
    }