Загрузка страницы и вывод потока на экран с последующей записью в файл - 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();