Загрузка страницы и вывод потока на экран с последующей записью в файл - C#

Узнай цену своей работы

Формулировка задачи:

Задача: Загрузить и вывести на экран первые 14 символов html документа 5 раз подряд и записать полученные результаты в файл. Но при запуске программы в окне строка дублируется только 2 раза. К тому же поток не записывается в файл. В чем проблема? Код:
class Program
    {
        static void Main(string[] args)
        {
            StreamWriter writeStatus = new StreamWriter(@"D:\1.txt");
            for (int x = 1; x < 5; x++)
            {
                int ch;
                HttpWebRequest req = (HttpWebRequest)
                    WebRequest.Create("http://ya.ru");
                HttpWebResponse resp = (HttpWebResponse)
                    req.GetResponse();
                Stream istr = resp.GetResponseStream();
 
                for (int i = 0; i < 14; i++)
                {
                    ch = istr.ReadByte();
                    Console.WriteLine((char)ch);
                    writeStatus.Write((char)ch);
                }
            }
            Console.ReadKey();
        }
    }

Решение задачи: «Загрузка страницы и вывод потока на экран с последующей записью в файл»

textual
Листинг программы
StreamWriter writeStatus = new StreamWriter(@"D:\1.txt");
            for (int x = 1; x <= 5; x++) // если надо 5 то либо = проставляется либо начало отсчёта 0
            {
                    int ch;
                    HttpWebRequest req = (HttpWebRequest)
                        WebRequest.Create("http://ya.ru");
                    HttpWebResponse resp = (HttpWebResponse)
                        req.GetResponse();
                    Stream istr = resp.GetResponseStream();
 
                    for (int i = 0; i < 14; i++)
                    {
                        ch = istr.ReadByte();
                        Console.WriteLine((char)ch);
                        writeStatus.Write((char)ch);
                    }
                    req.Abort();//закрываем прошлый запрос чтобы не думало что ответ уже есть
                    resp.Close();
            }
            writeStatus.Flush();// записывает данные в поток
            writeStatus.Close(); // закрываем поток чтобы не висел
            Console.ReadKey();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы