用c#遍历文件夹中的所有文件及文件夹 ,如何完成?

解决方案 »

  1.   

    private void getDirectories(string path)
    {
    string[] fileNames = Directory.GetFiles(path);
    string[] directories = Directory.GetDirectories(path);
    foreach (string file in fileNames)
    {
    Console.WriteLine("Filename:{0}",file);
    }
    foreach (string dir in directories)
    {
    Console.WriteLine("Directoriesname:{0}",dir);
    getDirectories(dir);
    }
    }
      

  2.   

    Directory.GetFiles(string folder)更详细的查msdn文档
      

  3.   

    private void getDirectories(string path)
    {
    string[] fileNames = Directory.GetFiles(path);
    string[] directories = Directory.GetDirectories(path);
    foreach (string file in fileNames)
    {
    Console.WriteLine("Filename:{0}",file);
    }
    foreach (string dir in directories)
    {
    Console.WriteLine("Directoriesname:{0}",dir);
    getDirectories(dir);
    }
    }遇到没有权限list的文件夹会报错哦
      

  4.   

    hunter32.blogcn.com 有 在壓縮文件的講解中
      

  5.   

    //找文件夹(加列表)
    private void AddFolderItem(string Path)
    {

    DirectoryInfo DirInfo = new DirectoryInfo(Path);
    DirectoryInfo[] Folders;
    try
    {
    Folders = DirInfo.GetDirectories();
    foreach(DirectoryInfo di in Folders)
    {
    ListViewItem lvi = new ListViewItem(new string[]{di.ToString(),"","",""});
    ltv.Items.Add(lvi);
    }
    }
    catch
    { }
    }
    //找文件(加列表)
    private void AddFileItem(string Path)
    {

    DirectoryInfo DirFile = new DirectoryInfo(Path);
    FileInfo[] Files;
    try
    {
    Files = DirFile.GetFiles();
    foreach(FileInfo fi in Files )
    {
    string[] sub = new string[4];
    sub[0] = fi.Name.ToString();
    sub[1] = fi.Length.ToString() + " KB";
    sub[2] = fi.CreationTime.ToString("yyyy-MM-dd HH:mm:ss");
    sub[3] = fi.LastAccessTime.ToString("yyyy-MM-dd HH:mm:ss");
    ListViewItem lvi = new ListViewItem(sub);
    ltv.Items.Add(lvi);
    }
    }
    catch
    { }
    }
      

  6.   

    写过一个类,提供源代码,
    http://blog.csdn.net/zhzuo/archive/2005/03/08/315125.aspx