如何在子文件夹中搜索特定文本文件

时间:2015-04-19 21:28:13

标签: vb.net text-files

我有一个名为'The Arts'的文件夹,其中包含各种子文件夹,其中一个名为'Music'。此“音乐”子文件夹包含以下格式的各种文本文件:

John Doe.TXT

John Lennon.TXT

埃尔顿约翰.TXT

现在,在我的表格上,我有两个文本框,用户可以在其中输入艺术家的姓名;

Textbox1.Text = John

Textbox2.Text = Lennon

我想要实现的是,点击此表单上的按钮后,程序会在“艺术”父文件夹中搜索“音乐”子文件夹,然后在此音乐子文件夹中搜索文本文件名它与文本框1和2中连接的艺术家名称完全匹配。

如果文本文件名与文本框1和2中连接的艺术家名称完全匹配,则显示一条消息。如果Music子文件夹中没有文本文件名与文本框1和2中连接的名称匹配;然后显示一条没有找到文件的消息。

以下代码不完整,只显示我如何指定主文件路径。我不知道如何让程序完成上述任务。

我正在使用Visual Basic 2010 Express。谢谢你的帮助。

Dim FilePath As String
        FilePath = (Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "The Arts\"))

        'This section is where I am stuck and need help...Thank you in advance.

        If File.Exists(FilePath) Then
            MsgBox("File found.")
        Else
            MsgBox("A record does not exist for this artist.")
            Exit Sub
        End If

1 个答案:

答案 0 :(得分:2)

  

如何检查文本文件名是否与文本框1和2中连接的艺术家名称完全匹配

您需要首先连接文本框中的文本,给定您的示例,需要用空格分隔。有几种方法可以实现这一目标。

例如this

Dim artistName = TextBox1.Text + " " + TextBox2.Text

this

Dim artistName = String.Concat(TextBox1.Text, " ", TextBox2.Text)

还有更多方法可以做到这一点。

接下来,您需要将其组合为完整的文件路径名。为了便于阅读,只需几步即可完成此操作:

' Directory
Dim desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim musicPath = Path.Combine(deskTopPath, "The Arts", "Music"))

' Combine directory name and the name of the file we want to find.
Dim filePath = Path.Combine(musicPath, artistName + ".TXT")

最后,您可以通过调用File.Exists method来检查该文件是否存在。

Dim found = File.Exists(filePath)