URL-адрес унифицированного локатора ресурсов (Uniform Resource Locator) — это имя и адрес, используемые www-клиентами для идентификации ресурсов при доступе к Интернету. Гипертекстовые ссылки поддерживаются унифицированными URL-адресами указателей ресурсов. Формат URL-адреса:
<МЕТОД>://<ИМЯ ХОСТА:ПОРТ>/<ПУТЬ>/<ФАЙЛ>
Среди них: Метод — протокол передачи: HOSTNAME — имя хоста в Интернете, на котором расположены документ и сервер (адрес точки в DNS в системе доменных имен. PORT — номер порта службы (можно опустить); путь, а FILE — это имя файла. Например:
http://www.weixueyuan.net/(http — имя протокола, www.weixueyuan.net — имя хоста)
http://www.weixueyuan.net/view/6079.html (www.weixueyuan.net — это имя хоста, view/6079.html — путь к файлу и имя файла)
класс URL
В пакете Java.net есть класс URL, объект URL может представлять сетевой ресурс. Программы могут использовать объекты URL для реализации интернет-адресации, определения местоположения сетевых ресурсов, прямого доступа между клиентами и серверами и т. д. Метод конструктора класса URL:
URL-адрес (строка с)
Среди них s указывает на ресурс в сети.
Метод использования объектов URL-адресов для доступа к онлайн-ресурсам заключается в том, чтобы сначала создать объект URL-адреса, как показано в следующем коде:
URL myURL; попробуйте { myURL = новый URL("http://www.weixueyuan.net:80/");}catch(MalformedURLException e){ System.out.println("Неверный URL:"+url+e ); }
Исключение MalformedURLException может возникнуть из-за создания объекта URL. Таким образом, код, создающий объект URL-адреса, должен появиться в блоке операторов try...catch, чтобы можно было перехватывать исключения ошибок URL-адреса.
Класс URLConnection
Для получения и отправки информации необходимо использовать класс URLConnection. Программа получает объект URLConnection, что эквивалентно завершению HTTP-соединения с указанным URL-адресом. Ниже приведен код для получения объекта URLConnection.
URL mu = new URL("http://www.sun.com/");//Сначала создайте объект URL URLConnection muC = mu.openConnection();//Получите объект URLConnection
Приведенный выше код показывает, что сначала необходимо создать объект URL, а затем использовать метод openConnection() объекта URL для получения объекта URLConnection из системы. Если у программы есть объект URLConnection, она может использовать следующие методы, предоставляемые классом URLConnection, для получения объекта потока и реализации сетевого подключения:
getOutputStream(): получить объект потока OutputStream, который отправляет информацию на удаленный хост;
getInputStream(): получает объект потока InputStream, который получает информацию от удаленного хоста. Когда входные и выходные потоки подключены к сети, программы могут взаимодействовать удаленно;
Connect(): настроить сетевое соединение.
Отправка и получение информации
Для отправки и получения информации получается объект потока, а из объекта потока создается объект потока входных или выходных данных. Затем вы можете использовать метод потоковой передачи для доступа к онлайн-ресурсам.
См. метод readByURL() в примере программы ниже. Этот метод иллюстрирует процесс чтения веб-контента с известного URL-адреса. Этот метод использует параметры URL-адреса для создания URL-адреса объекта URL-адреса, затем использует метод openConnect() URL-адреса объекта для получения объекта URLConnection tc, использует метод Connect() объекта tc для установления сетевого соединения, а затем получает объект класса InputStreamReader в сетевом соединении и помещает объект в , преобразованный в объект BufferedRead dis, измененный на буферизованный ввод. Наконец, используйте метод readLine() объекта dis, чтобы завершить чтение сетевых текстовых данных.
Как и локальный поток данных, поток данных должен закрываться вовремя после завершения использования онлайн-ресурсов. Например, код
дис.закрыть();
Закройте поток, созданный предыдущим кодом.
[Пример] Приложение, которое считывает веб-контент, используя метод потока данных. Когда программа запускается, URL-адрес считывается из текстового поля.
импортировать java.net.*;импортировать java.awt.*;импортировать java.awt.event.*;импортировать java.io.*;импортировать java.javax.swing.*;публичный класс Пример10_2{ public static void main(String args []) {new downNetFile(); }} класс DownNetFile расширяет JFrame, реализует ActionListener { JTextFileld infield = new JTextField(30); JTextarea showArea = new JTextArea(); JButton b = new JButton("загрузить"); JPanel p = new JPanel(); DownNetFile(){ super("приложение для чтения сетевого текстового файла"); this.getContentPane(); p.add(infield);p.add(b); JScrollPane jsp = новый JScrollPane(showAreaListener(this); con.add(p,"North");con.add(jsp,"Center"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500,400);setVisible(true) } общественный недействительный actionPerformed (ActionEvent e) { readByURL(infield.getText()); } public void readByURL(String urlName){ try { URL url = new URL(urlName);//Создаем объект URL из URL-адреса URLConnection tc = url.openConnectin();//Get объект URLConnection tc.connect();//Установим сетевое соединение InptStreamReader in = new InputStreamReader(tc.getInputStream()); BufferedReader dis = new BufferedReader(in);//Использовать встроенную буферизованную входную строку while((inline = dis.readLine())!=null){ showArea.append(inline +”/n” } dis.close ( );//После завершения использования онлайн-ресурсов поток данных закрывается по времени}catch(MalformedURLException e){ e.printStackTrace() } catch(IOException; e){e.printStacktrace();} /*Доступ к онлайн-ресурсам может генерировать исключения MalformedURLException и IOException*/ }}