看到一个遍历目录的函数
        private void ListFolderFiles(FileSystemInfo fileinfo)
        {
            if (!fileinfo.Exists) return;
            DirectoryInfo dirinfo = fileinfo as DirectoryInfo;
            if (dirinfo == null) return; //不是目录 
            FileSystemInfo[] files = dirinfo.GetFileSystemInfos();
            for (int i = 0; i < files.Length; i++) //遍历目录下所有文件、子目录
            {
                FileInfo file = files[i] as FileInfo;
                if (file != null) // 是文件 
                {
                    //操作
                    //FileList += file;
                }
                else //是目录 
                {
                   //PopulateFiles(files[i], Ext);
                    ListFolderFiles(files[i]); //对子目录进行递归调用 
                }
            }
        }但不知道怎么传递FileSystemInfo  的参数
我、的是用treeView来显示目录
怎么把目录传递给
ListFolderFiles
然后遍历出 所有比如jpg类型的文件啊

解决方案 »

  1.   

    FileSystemInfo 貌似是你自己定义的类吧!
    试试将方式参数类型改为DirectoryInfo
      

  2.   

    DirectoryInfo dinfo = new DirectoryInfo(path);
                        FileSystemInfo finfo = dinfo as FileSystemInfo;
                        ListFolderFiles(finfo);
      

  3.   

    你不是建立文件对象了嘛!提取文件属性只要是".jpg、.gif“等等就是图片了呀。
      

  4.   

    if (file != null) // 是文件 
                    {
                        //操作
                  }
      

  5.   

    if (file != null) // 是文件 
    {
        if(file.Extension == ".jpg")
        {
            //读取操作
        }
    }
      

  6.   

    System.IO.DirectoryInfo c=new DirectoryInfo("c:\\");
    ListFolderFiles(c);
      

  7.   

    将这句改为FileSystemInfo[] files = dirinfo.GetFileSystemInfos("*.jpg");
    可以遍历jpg扩展名的
      

  8.   

    你的遍历算法有点问题(个人觉得),略略修改了一下,你自己根据实际情况吧,对于没有权限访问的
    目录会产生异常
    private void ListFolderFiles(FileSystemInfo fileinfo)
    {

    if (!fileinfo.Exists) return;
    DirectoryInfo dirinfo = fileinfo as DirectoryInfo;
    if (dirinfo == null) return; //不是目录

    DirectoryInfo[] dirs = dirinfo.GetDirectories();
    foreach(DirectoryInfo dir in dirs)
    {
    ListFolderFiles(dir);
    }
    FileInfo[] files = dirinfo.GetFiles("*.jpg");
    foreach(FileInfo file in files)
    {
    string asss=file.FullName;
    }
    }
      

  9.   

    Directory.GetFiles(path, "*.jpg")