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

怎么读取目录下的所有图片

2011-12-20 
如何读取目录下的所有图片protectedvoidPopulateFiles(TreeNodenodeCurrent){//Populatelistviewwithfiles

如何读取目录下的所有图片
protected   void   PopulateFiles(TreeNode   nodeCurrent)
                {
                        //Populate   listview   with   files
                        string[]   lvData   =   new   string[4];

                        //clear   list
                        InitListView();

                        if   (nodeCurrent.SelectedImageIndex   !=   0)
                        {
                                //check   path
                                if   (Directory.Exists((string)getFullPath(nodeCurrent.FullPath))   ==   false)
                                {
                                        MessageBox.Show( "不存在路径或没有数据 ");
                                }
                                else
                                {
                                        try
                                        {
                                                string[]   stringFiles   =   Directory.GetFiles(getFullPath(nodeCurrent.FullPath));
                                                string   stringFileName   =   " ";
                                                DateTime   dtCreateDate,   dtModifyDate;
                                                Int64   lFileSize   =   0;
                                                string   FileDirectory   =   " ";

                                                //loop   throught   all   files
                                                foreach   (string   stringFile   in   stringFiles)


                                                {
                                                        stringFileName   =   stringFile;
                                                        FileInfo   objFileSize   =   new   FileInfo(stringFileName);
                                                        //objFileSize.
                                                        lFileSize   =   objFileSize.Length;
                                                        dtCreateDate   =   objFileSize.CreationTime;   //GetCreationTime(stringFileName);
                                                        dtModifyDate   =   objFileSize.LastWriteTime;   //GetLastWriteTime(stringFileName);
                                                        FileDirectory   =   objFileSize.DirectoryName;
                                                        //create   listview   data
                                                        lvData[0]   =   GetPathName(stringFileName);

                                                        lvData[1]   =   FileDirectory;

                                                        lvData[2]   =   formatSize(lFileSize);
                                                        lvData[3]   =   formatDate(dtCreateDate);
                                                        //lvData[4]   =   formatDate(dtModifyDate);

                                                        //Create   actual   list   item


                                                        ListViewItem   lvItem   =   new   ListViewItem(lvData,   0);
                                                        this.listView1.Items.Add(lvItem);

                                                        listView1.SmallImageList   =   this.imageList2;
                                                        listView1.Items[0].ImageIndex   =   0;

                                                }
                                        }
                                        catch   (IOException   e)
                                        {
                                                MessageBox.Show( "Error:   Drive   not   ready   or   directory   does   not   exist. ");
                                        }
                                        catch   (UnauthorizedAccessException   e)
                                        {
                                                MessageBox.Show( "Error:   Drive   or   directory   access   denided. ");
                                        }
                                        catch   (Exception   e)
                                        {
                                                MessageBox.Show( "Error:   "   +   e);
                                        }
                                }


                        }
                }
这是一段读取目录文件的
我想怎么样只读取图片
比如是   jpg   ,gif,bmp三种格式

[解决办法]
通过正则表达式排除其他类型的文件
if (!Regex.IsMatch(s, @ ".*\.(bmp|jpg|gif)$ ", RegexOptions.IgnoreCase))
continue;

也可以直接得到文件扩展名排除
if (! ".bmp.jpg.gif. ".Contains(Path.GetExtension(s).ToLower() + ". "))
continue;

热点排行