2015-04-19 142 views
0

我有一个标题为“艺术”的文件夹,其中包含各种子文件夹,其中一个标题为“音乐”。这种 '音乐' 子文件夹中包含的各种格式的文本文件:如何搜索特定文本文件的子文件夹

约翰Doe.TXT

约翰Lennon.TXT

埃尔顿John.TXT现在

,在我的表,我有两个文本框,其中用户可以像这样输入艺术家的名字;

Textbox1.Text =约翰

Textbox2.Text =侬

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

如果文本文件名与从文本框1连接的艺术家姓名完全匹配和2,然后显示一条消息。如果音乐子文件夹中没有文本文件名称与从文本框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 

回答

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)  
+0

非常感谢您的帮助,Alex。你的建议对我有用。另外,请问如果没有太多要问,你会碰巧知道如何以编程方式读取程序读取的子文件夹的名称,并在窗体上的文本框中显示该名称?再次感谢。 – Iki

+0

你需要更多地使用谷歌,这样你才能为自己找出这些东西。就像搜索“文件信息vb.net”或“文件夹信息vb.net”一样。 – Alex

+0

感谢您的早期帮助。在问我的第一个和第二个问题之前,我曾去过谷歌,但并没有真正找到我想要的东西。这就是为什么我继续在这个论坛上提出这个问题的原因。但是,谢谢。我已经能够找出解决我问你的第二个问题的方法。干杯。 – Iki

相关问题