2012-06-21 2 views
1

Например: Я хочу знать, есть ли изображения в каталоге (например.. .jpg). Я хочу вернуть логическое значение, подтверждающее наличие файлов с этим расширением или нет.Как я могу узнать, существует ли хотя бы один тип файла в каталоге?

Сначала я начал со следующим кодом:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim Path1 As String 
    FolderBrowserDialog1.ShowDialog() 
    Path1 = FolderBrowserDialog1.SelectedPath 
    TextBox1.Text = FolderBrowserDialog1.SelectedPath 'ignore this 
    If System.IO.File.Exists(Path1 + "\*.jpg") = True Then 
     Label1.Text = "At least there is a .jpg" 
    End If 
End Sub 

Это не сработало, и я думал использовать System.IO.Directory.GetFiles.The проблема заключается в том, как я могу использовать его, чтобы вернуть мне значение истина/ложь, или, вернее, чтобы увидеть, если есть такие типы файлов

+2

Post код, который вы пробовали, и объяснить, что вы имеете в виду под «не увенчались успехом» – Blorgbeard

+0

Ну, что случилось с этим? – Blorgbeard

ответ

2

Вы можете использовать Directory.EnumerateFiles вместе с Enumerable.Any:

Dim exists As Boolean = Directory.EnumerateFiles(folderName, "*.jpg").Any() 

GetFiles должны также работать (если вы в .NET 3.5), но будет менее эффективным:

Dim exists As Boolean = Directory.GetFiles(folderName, "*.jpg").Any() 
+0

Спасибо, это именно то, что я искал. –

0
Private Function FileExists(folderPath As String, extension As String) As Boolean 
    Return (Directory.GetFiles(folderPath, "*." + extension).Length <> 0) 
End Function 
+0

О, более полезно, спасибо –

Смежные вопросы