2013-04-03 118 views
2

我都試過,但它給我一個錯誤:如何從在線.txt文件中搜索或匹配文本?

"The given path's format is not supported".

private void btnVerify_Click(object sender, EventArgs e) 
{ 
    int counter = 0; 
    string email = textVarify.Text; 
    string line=""; 
    System.IO.StreamReader file = new System.IO.StreamReader("https://dl.dropboxusercontent.com/u/9013501/bots/lic.txt"); 
    while ((line = file.ReadLine()) != null) 
    { 
     if (line.Contains(textVarify.Text)) 
     { 
      DevComponents.DotNetBar.MessageBoxEx.Show("Email",textVarify.Text+" Found"); 
     } 
     counter++; 
    } 

    file.Close(); 
} 

有什麼錯呢?

+3

AFAIK'StreamReader'需要一個本地文件。您可以使用「WebClient」下載文件,然後進行流式傳輸。例如:http://www.csharpdeveloping.net/Snippet/how_to_download_text_file –

+0

謝謝AFAIK你是對的我的問題解決了 –

+0

樂意幫忙。我添加了我的答案。 –

回答

1

StreamReader constructor的參數意味着本地系統中的文件路徑或由UNC路徑標識的文件共享(例如\\foo\bar\file.txt);您提供了一個HTTPS網址,它既不是。

要檢索通過HTTP文件到一個流,你要像WebClient.OpenRead

var webClient = new WebClient(); 
var uriString = "https://dl.dropboxusercontent.com/u/9013501/bots/lic.txt"; 

var stream = webClient.OpenRead(uriString); 

var file = new StreamReader(stream); 
+0

感謝Dan J它解決了我的問題,那是我的第一個問題帖子,你對我很棒。謝謝一個人.. –

+0

不客氣。如果問題得到解決,請隨時接受此答案(單擊其左側的複選標記)。 –

0

正如我張貼在評論,StreamReader預計本地文件路徑。您可以使用WebClient先下載文件。 這裏作爲一個例子: How to download a text file

+0

感謝Elad工作 –

+0

歡迎:) –