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

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

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

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

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

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

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


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

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

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы