读书人

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

发布时间: 2012-01-12 22:11:58 作者: rapoo

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 ")

读书人网 >C#

热点推荐