2015-09-27 142 views
0

代碼:我需要導入文本文件,但不是作爲一個字符串?

Dim FILE_NAME As String = "C:***\Documents\Eureka\Users\favourites\favourites_container.txt" 

    Dim objReader As New System.IO.StreamReader(FILE_NAME) 

    If FILE_NAME.ToString.ToCharArray.Contains(WebBrowser1.Url.AbsolutePath) Then 
     favouritebtn.Hide() 
     not_favouritebtn.Show() 
    Else 
     favouritebtn.Hide() 
     not_favouritebtn.Show() 
    End If 

錯誤:文本不是字符串

的一員我如何得到那個工作?基本上,如果Web瀏覽器的URL位於文本文件中,那麼favoruitebtn會顯示,但如果文本文件中沒有isnt,not_Favouritebtn會顯示?對不起,我正在申請所有我知道但我只是得到錯誤。由於

+0

string.Contains不會做你認爲的 – Steve

+0

謝謝你,任何想法會怎樣?謝謝 –

回答

0

您使用String.Contains不正確,並需要通過線來讀取文件行:

Dim FILE_NAME As String = "C:\Users\[user]\Documents\Eureka\Users\favourites\favourites_container.txt"  
Dim reader as StreamReader= My.Computer.FileSystem.OpenTextFileReader(FILE_NAME) 
Dim a as String 
Do 
    a = reader.ReadLine 
    If a.Contains(WebBrowser1.Url.AbsolutePath) Then 
     favouritebtn.Hide() 
     not_favouritebtn.Show() 
    Else 
     favouritebtn.Hide() 
     not_favouritebtn.Show() 
    End If 
Loop Until a Is Nothing 
reader.Close() 
+0

嘿謝謝你的幫助,但即時通訊仍然讓對象設置爲沒有對象實例(空錯誤)?請幫助哈哈,即時消失了。 –

0

您需要實際讀取的文件使用的StreamReader或只是打電話File.ReadAllText,然後檢查內容然而得到的字符串您的網址

Dim FILE_NAME As String = "......" 
Dim fileContent = File.ReadAllText(FILE_NAME) 
If fileContent.Contains(WebBrowser1.Url.AbsolutePath) Then 
    favouritebtn.Hide() 
    not_favouritebtn.Show() 
Else 
    favouritebtn.Hide() 
    not_favouritebtn.Show() 
End If 

被警告說,如果該文件是非常大的,在內存中讀取所有的內容是不是一個好方法

+0

謝謝,並且不再簡單:) –

相關問題