我想獲得給定文件夾中所有圖像文件的列表。枚舉目錄中的圖像文件
Dim targetFolder As String = "C:\Data\"
Dim imagefiles = From file In Directory.EnumerateFiles(targetFolder)
For Each f In imagefiles
'do something
Next
上面列出了所有文件類型。如何將其更改爲僅返回圖像文件類型?
我想獲得給定文件夾中所有圖像文件的列表。枚舉目錄中的圖像文件
Dim targetFolder As String = "C:\Data\"
Dim imagefiles = From file In Directory.EnumerateFiles(targetFolder)
For Each f In imagefiles
'do something
Next
上面列出了所有文件類型。如何將其更改爲僅返回圖像文件類型?
圖像文件可以有多個擴展名,但EnumerateFiles只能在其過載中使用一個擴展名。你可以克服這個限制提供的文件擴展名列表,並使用了IEnumerable方法在哪裏,任何
Dim targetFolder As String = "C:\Data"
Dim imgExtensions() As string = { ".jpg", ".jpeg", ".bmp", ".gif", ".png" }
Dim imageFiles = Directory.EnumerateFiles(targetFolder) _
.Where(Function(s) imgExtensions _
.Any(Function(x) x = Path.GetExtension(s)))
For Each file in imageFiles
Console.WriteLine(file)
Next
添加第二個參數來Directory.EnumerateFiles
:
Directory.EnumerateFiles(targetFolder, "*.jpg")
你可以傳遞第二個參數來Directory.EnumerateFiles
這是一個搜索模式:
Dim targetFolder As String = "C:\Data\"
Dim imagefiles = From file In Directory.EnumerateFiles(targetFolder, "*.jpg")
For Each f In imagefiles
'do something
Next
這將枚舉以.jpg結尾的所有文件。但是,沒有確切的「所有圖像文件」列表。您需要自己定義一個對您的應用程序有意義的搜索模式。
如果我有我的圖片文件作爲點心擴展()作爲字符串= {「.JPG」,「.JPEG」 「.jpe」,「.jfif」,「.png」},我如何列舉這些? – Nuts
@ user2143213,看看這篇文章:http://stackoverflow.com/questions/7039580/multiple-file-extensions-searchpattern-for-system-io-directory-getfiles – nvoigt
已經有一個答案是:http ://stackoverflow.com/questions/3754118/how-to-filter-directory-enumeratefiles-with-multiple-criteria – Jojo