foreach(DirectoryInfo nextFolder in dif.GetDirectories())
{
   listBox1.Items.Add(NexeFolder.Name;
}
foreach(FIleInfo nextFile in dis.GeiFiles())
{
   listBox2.Items.Add(nextFile.Name);
}

解决方案 »

  1.   

    一个复制文件夹的递归算法
    楼主可以参考using System.IO;private void CopyFiles(string varFromDirectory,string varToDirectory)
    {
    Directory.CreateDirectory(varToDirectory); if(!Directory.Exists(varFromDirectory)) return; string[] directories = Directory.GetDirectories(varFromDirectory); if(directories.Length > 0)
    {
    foreach(string d in directories)
    {
    CopyFiles(d,varToDirectory + d.Substring(d.LastIndexOf("\\")));
    }
    }
    string[] files = Directory.GetFiles(varFromDirectory); if(files.Length > 0)
    {
    foreach(string s in files)
    {
    File.Copy(s,varToDirectory + s.Substring(s.LastIndexOf("\\")));
    }
    }
    }
      

  2.   

    /// <summary>
    /// 浏览某一目录下的所有文件信息并返回相关信息的数组
    /// </summary>
    /// <param name="str">c:\test\test</param>
    /// <returns>0文件名,1创建时间,2扩展名,3文件大小</returns>
    public string[] _ScanFileInfo(string str)
    { str=Server.UrlDecode(str);
    string[] temp=new string[4];
    DirectoryInfo dir=new DirectoryInfo(str);
    FileInfo[] files=dir.GetFiles();
    foreach(FileInfo file in files)
    {
    temp[0] += file.Name.ToString()+"|"; //文件名
    temp[1] += file.CreationTime.ToString()+"|"; //文件日期
    temp[2] += file.Extension.ToString()+"|";//扩展名
    temp[3] += file.Length+"|";//文件长度
    }
    return temp;}
      

  3.   

    我使用Dirctory静态类,原理差不多。
    /// <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);
    }
    }
      

  4.   

    /////////////////////////////////////
    //Author: stardicky
    //E-mail: [email protected]
    //QQNumber: 9531511
    //CompanyName: Ezone International
    //Class: HBS-0308
    ///////////////////////////////////////文件复制精简版模块
    //注:完整版包括:对文件名极其内容进行分析,文件拷贝总长度控制等...private void EzoneCopy(DirectoryInfo Dirs)
    {
    try
    {
    //获得当前目录的所有文件
    FileInfo[] SubFiles=Dirs.GetFiles();

    //获得当前目录的所有的子目录
    DirectoryInfo[] SubDirs=Dirs.GetDirectories(); //遍历复制当前目录的文件
    foreach(FileInfo file in SubFiles)
    {
    //创建新目录
    DirectoryInfo NewDir=new  DirectoryInfo(this.DataCopy+"\\"+this.NewDirName+"\\"+file.DirectoryName.Remove(0,3));
    NewDir.Create();

    //文件开始复制
    file.CopyTo(NewDir.FullName+"\\"+file.Name,true);
    }

    //遍历复制当前目录的子目录
    foreach(DirectoryInfo dir in SubDirs)
    {
    //进行递归操作
    EzoneCopy(dir);
    }
    }//结束 Try 语句
    catch(Exception Ezone)
    {
    //发生异常
    //分析异常
    //处理异常
    }
    }//谢谢大家给我多提意见!