【问题标题】:How to Search or Match Text from online .txt file?如何从在线 .txt 文件中搜索或匹配文本?
【发布时间】:2013-04-03 05:22:15
【问题描述】:

我已经尝试过了,但它给了我一个错误:

“不支持给定路径的格式”。

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();
}

这有什么问题?

【问题讨论】:

  • AFAIK StreamReader 需要一个本地文件。您可以使用WebClient 下载文件,然后进行流式传输。示例:csharpdeveloping.net/Snippet/how_to_download_text_file
  • 感谢 AFAIK 你说得对,我的问题已经解决了
  • 乐于助人。我添加了我的答案。

标签: c# .net text path match


【解决方案1】:

StreamReader constructor 的参数是本地系统中的文件路径,或者是由 UNC 路径标识的文件共享(例如 \\foo\bar\file.txt);您提供了一个 HTTPS URL,但两者都不是。

要通过 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);

【讨论】:

  • 感谢 Dan J 解决了我的问题,这是我的第一个问题帖子,你对我来说很棒。再次感谢..
  • 不客气。如果问题得到解决,请随时接受此答案(单击其左侧的复选标记)。
【解决方案2】:

正如我在 cmets 中发布的,StreamReader 需要一个本地文件路径。您可以先使用WebClient 下载文件。 这里作为一个例子: How to download a text file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2016-05-09
    • 2019-02-13
    • 2015-01-18
    • 2021-09-12
    相关资源
    最近更新 更多