在Directory.GetFiles中过滤文件

时间:2017-01-29 16:29:02

标签: vb.net

我正在尝试制作一个程序来过滤某个文件夹及其子文件夹中具有扩展名*.txt的每个文件,并将其添加到ListBox

Dim Directories As New IO.DirectoryInfo("C:\Users\" & SystemInformation.UserName & "\AppData\Roaming\.minecraft")
Dim Directory As IO.DirectoryInfo
Dim File As IO.FileInfo

For Each Directory In Directories.GetDirectories
    For Each File In Directory.GetFiles
        ListBox1.Items.Add(File.Name)
        Next
    Next

问题是我无法过滤扩展程序,我获取文件夹中的所有文件及其子文件夹。 我试图过滤(“* .txt”),但我不能使它工作,我总是得到一个错误。 很抱歉,如果这很简单,但我是VB.Net的新手。

1 个答案:

答案 0 :(得分:0)

如上所述,您需要让您的代码知道您只想显示.txt文件。
下面的代码应该适合您。

        Dim Directories As New IO.DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\.minecraft"
        Dim fileInfo = Directories.GetFiles("*.txt", IO.SearchOption.AllDirectories)

        For Each file In fileInfo
            ListBox1.Items.Add(file.Name)
        Next

请注意,根据您搜索的位置,您可能需要管理员权限