首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#如何遍历目录读取图片类型的文件

2012-01-12 
C#怎么遍历目录读取图片类型的文件啊看到一个遍历目录的函数privatevoidListFolderFiles(FileSystemInfofi

C#怎么遍历目录读取图片类型的文件啊
看到一个遍历目录的函数
                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类型的文件啊

[解决办法]
DirectoryInfo dinfo = new DirectoryInfo(path);
FileSystemInfo finfo = dinfo as FileSystemInfo;
ListFolderFiles(finfo);
[解决办法]
将这句改为FileSystemInfo[] files = dirinfo.GetFileSystemInfos( "*.jpg ");
可以遍历jpg扩展名的
------解决方案--------------------


你的遍历算法有点问题(个人觉得),略略修改了一下,你自己根据实际情况吧,对于没有权限访问的
目录会产生异常
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;
}
}
[解决办法]
Directory.GetFiles(path, "*.jpg ")

热点排行