我有一个列表框,可以读取预定义目录中的所有文件。在这个目录中是各种文件。我想要的只是“过滤”PDF文件,以便只有.pdf扩展名的文件显示在列表框中
我该怎么做?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' make a reference to a directory
Dim di As New IO.DirectoryInfo("c:\")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
'list the names of all files in the specified directory
For Each dra In diar1
ListBox1.Items.Add(dra)
Next
End Sub
答案 0 :(得分:1)
DirectoryInfo.GetFiles有一个带字符串的重载 此字符串是用于过滤文件列表结果的模式。
所以你的代码可以简化(当然,使用更少的文件循环,它会更高效)
Dim di As New IO.DirectoryInfo("c:\")
Dim diar1 As IO.FileInfo() = di.GetFiles("*.pdf")
Dim dra As IO.FileInfo
For Each dra In diar1
ListBox1.Items.Add(dra)
Next
另外,请注意,如果您不需要文件FileInfo对象,则只需使用
即可Dim files As String() = Directory.GetFiles(yourDirectory, "*.PDF")
Directory.GetFiles只返回一个包含所请求名称的字符串数组
答案 1 :(得分:0)
你可以这样做:
For Each dra In diar1
If System.IO.Path.GetExtension(dra.Name).ToLower() = "pdf" Then
ListBox1.Items.Add(dra)
End If
Next