我有一个名为'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
答案 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)