Загрузите строку из .txt и отобразите HTML-файл в веб-браузере в VisualStudio - PullRequest
0 голосов
/ 09 октября 2018

Я работаю в Visual Studio 2017, и у меня есть папка, содержащая HTML-файлы, которые я хочу отобразить в элементе webBrowser.

Я пробовал разные методы, но всегда получаю NULL-исключение ихочу найти метод для загрузки строки (содержащей путь к файлу в HTML) из .txt-файла и перехода моего элемента webBrowser к этому пути к файлу.

try
        {
            //Pass the file path and file name to the StreamReader constructor
            StreamReader sr = new StreamReader("C:/install/Win10-Tipps/link.txt");

            line = sr.ReadLine();

            //Continue to read until you reach end of file
            while (line != null)
            {
                //write the lie to console window
                Console.WriteLine(line);
                //Read the next line
                line = sr.ReadLine();
                Console.WriteLine(line);
                Uri link = new Uri(line);
                Console.WriteLine(link);
                webBrowser1.Navigate(link);


            }

            //close the file
            sr.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception");
        }

Он печатает "файл: // C: /Install/Win10-Tipps/TippsHTML/TippSchnellePcSperre.html ", который является правильным путем к файлу, но также печатает" "System.ArgumentNullException" в System.dll "

1 Ответ

0 голосов
/ 09 октября 2018

Если я правильно понял ваши намерения: я получил текстовый файл с именем "pathToWebsite.txt", содержащий путь к html-файлу (в моем случае C: \ test.html).

Чтение путив HTML довольно просто:

        string url = null;

        using(StreamReader reader = new StreamReader("C:\\pathToWebsite.txt"))
        {
            //If the textfiles only contains one url in the first line.
            url = reader.ReadLine();
        }

Тогда я могу просто сказать моему веб-браузеру, чтобы перейти по этому пути:

if(url != null)
{
    //Maybe a check to make sure url is a valid path to a html page.
    webBrowser1.Navigate(url);
}
...