Microsoft Visual J++. Создание приложений и аплетов на языке Java

Класс URLConnection


Напомним, что в классе URL, рассмотренном нами в начале этой главы, мы привели прототип метода openConnection, возвращающий для заданного объекта класса URL ссылку на объект URLConnection:

public URLConnection openConnection();

Что мы можем получить, имея ссылку на этот объект?

Прежде всего, пользуясь этой ссылкой, мы можем получить содержимое объекта, адресуемое соответствующим объектом URL, методом getContent:

public Object getContent();

Заметим, что метод с таким же названием есть и в классе URL. Поэтому если все, что вы хотите сделать, это получение содержимое файла, адресуемое объектом класса URL, то нет никакой необходимости обращаться к классу URLConnection.

Метод getInputStream позволяет открыть входной поток данных, с помощью которого можно считать файл или получить данные от расширения сервера Web:

public InputStream getInputStream();

В классе URLConnection определен также метод getOutputStream, позволяющий открыть выходной поток данных:

public OutputStream getOutputStream();

Не следует думать, что этот поток можно использовать для записи файлов в каталоги сервера Web. Однако для этого потока есть лучшее применение - с его помощью можно передать данные расширению сервера Web.

Рассмотрим еще несколько полезных методов, определенных в классе URLConnection.

Метод connect предназначен для установки соединения с объектом, на который ссылается объект класса URL:



public abstract void connect();

Перед установкой соединения приложение может установить различные параметры соединения. Некоторые из методов, предназначенных для этого, приведены ниже:

// Включение или отключение кэширования по умолчанию

public void

  setDefaultUseCaches(boolean defaultusecaches);

// Включение или отключение кэширования

public void setUseCaches(boolean usecaches);

// Возможность использования потока для ввода

public void setDoInput(boolean doinput);

// Возможность использования потока для вывода

public void setDoOutput(boolean dooutput);

// Установка даты модификации документа


public void setIfModifiedSince(long ifmodifiedsince);

В классе URLConnection есть методы, позволяющие определить значения параметров, установленных только что описанными методами:

public boolean getDefaultUseCaches();

public boolean getUseCaches();

public boolean getDoInput();

public boolean getDoOutput();

public long getIfModifiedSince();

Определенный интерес могут представлять методы, предназначенные для извлечения информации из заголовка протокола HTTP:

// Метод возвращает содержимое заголовка content-encoding

// (кодировка ресурса, на который ссылается URL)

public String getContentEncoding();     

// Метод возвращает содержимое заголовка content-length

// (размер документа)

public int getContentLength();

// Метод возвращает содержимое заголовка content-type

// (тип содержимого)

public String getContentType();

// Метод возвращает содержимое заголовка date

// (дата посылки ресурса в секундах с 1 января 1970 года)

public long getDate();

// Метод возвращает содержимое заголовка last-modified

// (дата изменения ресурса в секундах с 1 января 1970 года)

public long getLastModified();

// Метод возвращает содержимое заголовка  expires

// (дата устаревания ресурса в секундах с

// 1 января 1970 года)

public long getExpiration();

Другие методы, определенные в классе URLConnection, позволяют получить все заголовки или заголовки с заданным номером, а также другую информацию о соединении. Мы не будем их рассматривать для экономии места в книге. При необходимости вы найдете описание этих методов в справочной системе Microsoft Visual J++.


Содержание раздела