1

我目前正在为一个小型研究项目编写一个 html 解析器。首先下载 html 页面,以便稍后对其进行分析。我正在使用一个异步下载器,它向我抛出一个 System.IO 异常,我不明白。

    public void downloadFile(String address)
    {
        string pfad = @"c:\Greyhound";
        if(!Directory.Exists(pfad))
        {
            Directory.CreateDirectory(pfad);
        }
        WebClient down = new WebClient();
        down.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
        down.DownloadFileAsync(new Uri(address), @"c:\Greyhound\page.html");
    }

    private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        MainWindow mainwindow = new MainWindow();
        mainwindow.UpdateProgress(e.ProgressPercentage);

    }

MainWindows.cs

private void GoButton_Click(object sender, EventArgs e)
    {
        Downloader down = new Downloader();
        down.downloadFile(Convert.ToString(AddressBox.Text));
    }
    public void UpdateProgress(int percentage)
    {
        progressBar.Value = percentage; 
    }

当我单击“开始”时,文件夹被创建并且下载开始并完成!我检查了它。该文件存在并且内容正确。但是当我将鼠标移到进度条上时,会出现等待圆圈。调试器告诉我,它在这里抛出一个 IO 异常:

down.DownloadFileAsync(new Uri(address), @"c:\Greyhound\page.html");

并告诉我:“指定的注册表项不存在” 但路径没有错。顺便说一句,我正在下载“ http://de.selfhtml.org/html/text/anzeige/h1_6.htm ”。

4

0 回答 0