Класс URL
Для работы с ресурсами, заданными своими адресами URL, в библиотеке классов Java имеется очень удобный и мощный класс с названием URL. Простота создания сетевых приложений с использованием этого класса в значительной степени опровергает общераспространенное убеждение в сложности сетевого программирования. Инкапсулируя в себе достаточно сложные процедуры, класс URL предоставляет в распоряжение программиста небольшой набор простых в использовании конструкторов и методов.
Конструкторы
URL(String spec) | Создает объект URL для сетевого ресурса, адрес URL передается конструктору в виде текстовой строки через единственный параметр spec. В процессе создания объекта проверяется заданный адрес URL, а также наличие указанного в нем ресурса. Если адрес указан неверно или заданный в нем ресурс отсутствует, возникает исключение MalformedURLException. Это же исключение возникает при попытке использовать протокол, с которым данная система не может работать. |
URL(String protocol, String host, int port, String file) | Допускает раздельное указание протокола, адреса узла, номера порта, а также имя файла. |
URL(String protocol,String host, String file) | Предполагает использование номера порта, принятого по умолчанию. Для протокола HTTP это порт с номером 80. |
URL(URL context, String spec) | Допускает указание контекста адреса URL и строки адреса URL. Строка контекста позволяет указывать компоненты адреса URL, отсустсвующие в строке spec, такие как протокол, имя узла, файла или номер порта. |
Методы
InputStream openStream() |
Позволяет создать входной поток для чтения файла ресурса, связанного с созданным объектом класса URL. Для выполнения операции чтения из созданного таким образом потока вы можете использовать метод read, определенный в классе InputStream (любую из его разновидностей). Данную пару методов (openStream из класса URL и read из класса InputStream) можно применить для решения задачи получения содержимого двоичного или текстового файла, хранящегося в одном из каталогов сервера Web. Сделав это, обычное приложение Java или аплет может выполнить локальную обработку полученного файла на компьютере удаленного пользователя. |
Object getContent() |
Определяет и получает содержимое сетевого ресурса, для которого создан объект URL Практически вы можете использовать метод getContent для получения текстовых файлов, расположенных в сетевых каталогах. К сожалению, данный метод непригоден для получения документов HTML, так как для данного ресурса не определен обработчик соедржимого, предназначенный для создания объекта. Метод getContent не способен создать объект ни из чего другого, кроме текстового файла. Данная проблема, тем не менее, решается очень просто - достаточно вместо метода getContent использовать описанную выше комбинацию методов openStream из класса URL и read из класса InputStream. |
String getHost() |
С помощью метода getHost можно определить имя узла, соответствующего данному объекту URL. |
String getFile() |
Позволяет получить информацию о файле, связанном с данным объектом URL. |
int getPort() |
Предназначен для определения номера порта, на котором выполняется связь для объекта. |
URL.
String getProtocol() |
С помощью метода getProtocol можно определить протокол, с использованием которого установлено соединение с ресурсом, заданным объектом URL. |
String getRef() |
Возвращает текстовую строку ссылки на ресурс, соответствующий данному объекту URL. |
int hashCode() |
Возвращает хэш-код объекта URL. |
boolean sameFile(URL other) |
С помощью метода sameFile можно определить, ссылаются ли два объекта класса URL на один и тот же ресурс, или нет. Если объекты ссылаются на один и тот же ресурс, метод sameFile возвращает значение true, если нет - false. |
boolean equals(Object obj) |
Метод используется для определения идентичности адресов URL, заданных двумя объектами класса URL. Если адреса URL идентичны, метод equals возвращает значение true, если нет - значение false. |
String toExternalForm() |
Возвращает текстовую строку внешнего представления адреса URL, определенного данным объектом класса URL. |
String toString() |
Возвращает текстовую строку, представляющую данный объект класса URL. |
URLConnection openConnection() |
Предназначен для создания канала между приложением и сетевым ресурсом, представленным объектом класса URL. |
Если вы создаете приложение, которое позволяет читать из каталогов сервера Web текстовые или двоичные файлы, можно создать поток методом openStream или получить содержимое текстового ресурса методом getContent.
Однако есть и другая возможность. Вначале вы можете создать канал, как объект класса URLConnection, вызвав метод openConnection, а затем создать для этого канала входной поток, воспользовавшись методом getInputStream, определенным в классе URLConnection. Такая методика позволяет определить или установить перед созданием потока некоторые характеристики канала, например, задать кэширование.
Оставить комментарий
Комментарии
да и переводить не надо