如何读取目录下的所有图片
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;