Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 189

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 189 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1892019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 189)

Для этой цели вызывается метод неабтоепб (), возвращающий все содержимое в виде строки из потока ввода. 938 часть и. Библиотека Са Далее программа осуществляет поиск ссылки в полученном содержимом. Для этого вызывается статический метод к1пс(ь1п)с (), определяемый в программе М1п)Сгатт)ег. Этот метод вызывается со строкой содержимого и исходным положением, с которого начинается поиск в полученном содержимом. Эти значения передаются методу Г1пЖ1п)с () в виде параметров Ьгко1эгх и зсагс1ос соответственно. Обратите внимание на то, что параметр эгагг1ос относится к типу геб. Сначала в методе Р1пс)ь1п)с О создается копия строки содержимого в нижнем регистре, а затем осуществляется поиск подстроки ьгеб="ьгср, обозначающей ссылку. если эта подстрока найдена, то 1)К1 копируется в строковую переменную игх, а значение параметра зсагс1ос обновляется и становится равным концу ссылки.

Но поскольку параметр зсагс1ос относится к типу геб, то это приводит к обновлению соответствующего аргумента метода Иахп (), активизируя поиск с того места, где он был прерван. В конечном итоге возвращается значение переменной игл. Эта переменная инициализирована пустым значением, и поэтому если ссылка не найдена, то возвращается пустая ссылка, обозначающая неудачный исход поиска. Если ссылка, возвращаемая методом г1пс(Ь1пк(), не является пустой, то она отображается в методе Иахп (), и далее программа запрашивает у пользователя очередные действия.

1)ользователю предоставляются одна из трех следующих возможностей: перейтн по найденной ссылке, нажав клавишу <П>, искать следующую ссылку в имеющемся содержимом, нажав клавишу <И>, или же выйти из программы, нажав клавишу <В>. Если пользователь нажмет клавишу <П>, то программа осуществит переход по найденной ссылке и получит новое содержимое по этой ссылке. После этого поиск очередной ссылки будет начат уже в новом содержимом. Этот процесс продолжается до тех пор, пока не будут исчерпаны все возможные ссылки.

В качестве упражнения можете усовершенствовать программу М1п1Сгатч!ег, дополнив ее, например, возможностью перехода по относительным ссылкам. Сделать это не так уж и трудно. Кроме того, можете полностью автоматизировать поисковый робот, чтобы он сам переходил по найденной ссылке без вмешательства со стороны пользователя, начиная со ссылки, обнаруженной на самой первой странице полученного содержимого, и продолжая переход по ссылкам на новых страницах. Как только будет достигнут тупик, поисковый робот должен вернуться на один уровень назад, найти следующую ссылку и продолжить переход по ссылке.

Для организации именно такого алгоритма работы программы вам потребуется стек, в котором должны храниться идентификаторы 1)Е1 и текущее положение поиска в строке ПЕ1. С этой целью можно, в частности, воспользоваться коллекцией класса згас)к. В качестве более сложной, но интересной задачи попробуйте организовать вывод ссылок в виде дерева.

Применение класса яеЬс1~еп~ В заключение этой главы уместно рассмотреть класс ИеЬС11епг. Как упоминалось в самом ее начале, класс ИеЬС11епс рекомендуется использовать вместо классов иеьнес(пеэг и иеьнезропэе в том случае, если в приложении требуется лишь выгружать или загружать данные из Интернета. Преимушество класса ИеЬС11епг заключается в том, что он автоматически выполняет многие операции, освобождая от их программирования вручную.

Глава 25. Сетевые средства подключения к Интернету 939 В классе иеЬС11епС определяется единственный конструктор: риЬ11с ИеЬС11епг () Таблица 26.6. Свойства, определенные в классеиеЬС11епь Описание риЫгс вСгзпд Вавелйигеяя ( дес) вес; ) Получает или устанавливает базовый адрес требуе- мого ()и).

Если это свойство установлено, то адреса, задаваемые в методах класса иеьс11епс, должны определяться относительно этого базового адреса Получает или устанавливает прбвила, определяю- щие, когда именно используется кзш риЫгс ПедиевССасЬеРо11су Сасьеро11су ( деС; веС; ) риЫгс 1СгеиепС1а1в СгеиепСза1я ( дес; вес; ) Получает или устанавливает мандат, т.е. учетные дан- ные пользователя. По умолчанию это свойство имеет пустое значение риЫзс Впсооспд Впсосхпд ( дес; вес; ) Получает или устанавливает схему кодирования сим- волов при передаче строк риЫгс ИеЬНеацегСо11ескссп неаг(егя( дес; веск ) Получает или устанавливает коллекцию заголовков запроса риЫгс Ьоо1 1вВияу( деС; ) Имеет логическое значение сгие, если данные по- прежнему передаются по запросу, в противном слу- чае — логическое значение Га1яе риЬ1гс 1неЬРгоку Ргоху ( дес; яес; ) Получает или устанавливает прокоп-сервер риЫ1с Напеиа1иесо11есС1оп Яиегуэкггпд ( декг вег; ) Получает или устанавливает строку запроса, со- стоящую из пар "имя-значение", которые могут быть присоединены к запросу.

Строка запроса отделяется от О))( символом?. Если же таких пар несколько, то каждая из них отделяется символом Ф риЫгс Иеьиеайегсо11есксоп кевропвепааоегя( дес; ) Получает коллекцию заголовков ответа риЫ1с Ьоо1 Пвепеуаи1ССгег(епС1а1в ( дес) яес; Получает или устанавливает значение, которое определяет, используется ли для аутентификации устанавливаемый по умолчанию мандат. Если имеет логическое значение сгие, то используется мандат, устанавливаемый по умолчанию, т.е. учетные данные пользователя, в противном случае этот мандат не ис- пользуется, Кроме того, в классе иеЬС11епс определяются свойства, сведенные в табл.

25.6, а также целый ряд методов, поддерживающих как синхронную, так и асинхронную передачу данных. Но поскольку рассмотрение асинхронной передачи данных выходит за рамки этой главы, то в табл. 25.7 приведены только те методы, которые поддерживают синхронную передачу данных. Все методы класса иеьс11епс генерируют исключение иеьехсерс гоп, если во время передачи данных возникает ошибка. 940 Часть (1.

Библиотека СЗ Таблица 25.7. Методы синхронной передачи, определенные а классе иеЬС11епь Метод риЫ1с Ьуге11 Оонп1иабоата(ятг1пи иг1) риЫ1с путе( Оонп1оябоася(Ог1 иг1) риЫ1с ио1б Оонп1оабу11е (яиг1пд игз, ятг1пи главе) риЫгс ио1б Оонп1оабв11е(цг1 игу, ятНвпд Глаже) риЫгс яиг1пи Оонп1оабзсг1пс (ясг1по игз) риЬ1гс ясг1пя Оонп1оабэсг1пи(иг1 игу) риЫгс Зтгвам Орепяеаб(ясг1пд игу) риЬ11с Ясгеяяг Орепяеаи(цг1 иг1) риЬ11с Этгеяяг Орепиг1те (ятг1пи игз) риЫ1с Эсгеапг ОрепИг1се(Ог1 игг) риЫгс Яьгеам ОрвпИгзсе(ясг1пи иг1, ятг1пи способ) риЫгс Эсгеяя Орепиг1се(Ог1 игу, ясг1по способ) риЫ1с Ьуте(] Ор1оябоаса(яиг1по игг, Ьусе (] 1пГс) риЫгс Ьусе (] Ор1оабрака (Огг ип, Ьуте(] зпгс) риЫас Ьусе(] Ор1оябрятя(яи 1пс иг1, яиг1пи способ, Ьуге(] 1пГс) Определение Загружает инфорыацию по адресу 0Н, на который указывает строка ига.

Возвращает результат в виде массива байтов Загружает информацию по адресу 0Н, на котгюый указывает обьект игз. Возвращает результат в виде массива байтов Загружает информацию по адресу 0Н, на который указывает строка иг.(, Сохраняет результат в файле Главе Загружает информацию по адюсу 0Й(, на который указывает обьект игг. Сохраняет результат в файле главе Загружает информацию по адресу 0Й(, нв который указывает строка ига.

Возвращает результат в виде символьной стро- КИ тИПа ятг1пс Загружает информацию по алису 0Й(, на который указывает обьект игз. Возвращает результат в виде символьной строки типа ясг1пд Возвращает поток ввода для чтения информации по адэвсу 0Й(, на который указывает строка игз. По окончании чтения информации этот поток необходимо закрыть Возвращает поток ввода для чтения информации по адресу 0Й(, На КОтОрЫй уКаЗЫВаЕт ОБЬЕКт игз. ПО ОКОНЧаНИИ ЧтЕНИя информации этот поток необходимо закрыть Возвращает поток вывода для записи информации по алресу 0Й(, на который указывает строка игз, По окончании записи информации этот поток необходимо закрыть Возвращает поток вывода для записи информации по адресу 0Й(, на который указывает объект иг1.

По окончании записи информации этот поток необходимо закрыть Возвращает поток вывода для записи информации по адресу 0Й), на который указывает строка игг. По окончании записи информации этот поток необходимо закрыть. В строке способ указывается, как именно следует записывать информацию Возвращает поток вывода для записи информации по адресу 0Й1, на который указывает объект игз. По окончании записи информации этот поток необх(щимо закрыть В строке способ указывается, как именно следует записывать информацию Записывает информацию иэ массива улус по адресу 0Й(, на который указывает строка игл В итоге возвращается ответ Записывает информацию из массива улус по адресу 0Й(, на который указывает обьект игз. В итоге возвращается ответ Записывает информацию из массива 'пус по адюсу 0Й(, на который указывает строка ига В итога возвращается отВвт.

В СтрОКЕ способ ухэамаэатоя, КаК ИМЕННО СЛЕдуЕт записывать информацию Окончание табл. 25.7 Определение риЫ1с Ьуке[) ир1опбопгп (Ог1 иг1, згг1пд способ, ЬУСе(] гпГО) риЫ1с ЬУСе[] Ор1опбГ11е(зог1пд иг1, зггьпд Глазе) риЫ1с Ьуте[) ОР1оабу11е(цгь иг1, зкгспд Глазе) риЬ11с Ьуге (] Ор1оабу51иез (Огг иг1, Назвиа1иеСО11ескспп иа15) В приведенном ниже примере программы демонстрируется применение класса НеЬС11ЕПС для загрузки данных в файл по укаэаииоМУ сетевому адресу.

// Испольэовать класс ИеЬС11епС для загрузки данных з // файл по указанному сетевому адресу. риЫ1с ЬУСе[] Ортовбр115(экгспд иг1, зкгспд способ, 5СгэпЯ Гпвзе) риЫ1с Ьуге[] ир1озс(Г11е(иг1 иг1, згг1пд списиб, зкг1пд Глазе) риЫ1с зог1пд Ор1оабБСггпд(зггспд иг1, всггод зсг) риЫ1с 5Сгьпд ир1оаОБСгспд Гбг1 иг1, 5СГ1ПЯ 5СГ) р11Ь11с 5СггпЯ ОР1оабзкгспд(зтгспд иг1, 5Сг1пЯ способ эгг1пЯ 5гг) риЫ1с 5511пд ОР1опбБСггпя(пг1 иг1, зкг1пд способ, 5Сг1пд згг) риЫ1с Ьуке[] ир1оабуа1иев(зкгапд иг1, Назеи51иеСо11есС1оп иа15) риЫ1с ЬУСе[] ир1оабиа1иез (5Сгспд иг1, 5Сг1пя спОсОб Напеиа1иеСо11есгьоп иа15) риЫ1с Ьуке[) ир1оас(Ч51иез(иг1 иг1, 5С11пд способ, Нзпеи51иеСо11ескьоп О515) Глава 25. Сетевые средства подключения к Интернету 941 Записывает информацию из массива 1п ГО по адресу 0В1, на который указывает объект иг1. В итоге возвращается стает.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее