【问题标题】:How to search a sub-folder for a particular text file如何在子文件夹中搜索特定文本文件
【发布时间】:2015-04-19 21:28:13
【问题描述】:

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

John Doe.TXT

约翰列侬.TXT

埃尔顿·约翰.TXT

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

Textbox1.Text = 约翰

Textbox2.Text = 列侬

我想要实现的是,在单击此表单上的按钮时,程序会在“艺术”父文件夹中搜索“音乐”子文件夹,然后在此音乐子文件夹中搜索文本文件名这与从文本框 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

【问题讨论】:

    标签: vb.net text-files


    【解决方案1】:

    如何检查文本文件名是否与文本框 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)    
    

    【讨论】:

    • 非常感谢您的帮助,亚历克斯。你的建议对我有用。另外,请如果不是太多要求;您是否知道我如何以编程方式读取程序正在读取的子文件夹的名称并将该名称显示在表单的文本框中?再次感谢。
    • 您需要更多地使用 google,以便您自己解决这些问题。比如搜索“文件信息vb.net”或“文件夹信息vb.net”。
    • 感谢您之前的帮助。在问我的第一个和第二个问题之前,我去过谷歌,并没有真正找到我想要的东西。这就是为什么我继续在这个论坛上问这个问题。但是,是的,谢谢。我已经找到了解决我问你的第二个问题的方法。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2011-03-30
    • 2020-07-24
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多