在Java里,URLURLConnection是用于网络资源访问的关键类,下面分别介绍它们的定义、作用以及使用方法。

1. URL

定义

URL(Uniform Resource Locator)即统一资源定位符,它是对互联网上资源位置的一种表示,像网页、图片、文件等资源都能通过URL定位。在Java里,java.net.URL类用于表示一个URL对象。

作用

URL类主要用于封装和解析URL字符串,能方便地获取URL的各个组成部分,像协议、主机名、端口号、路径等,还可以打开与该URL所指资源的连接。

使用示例

import java.net.URL;

public class URLExample {
    public static void main(String[] args) {
        try {
            // 创建一个URL对象
            URL url = new URL("https://www.example.com");

            // 获取URL的各个部分
            System.out.println("协议: " + url.getProtocol());
            System.out.println("主机: " + url.getHost());
            System.out.println("端口: " + url.getPort());
            System.out.println("路径: " + url.getPath());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2. URLConnection

定义

URLConnection是一个抽象类,它代表了应用程序和URL所指向资源之间的连接。java.net.URLConnection是它的实现类,可用于建立与URL资源的连接,并且能对连接进行管理和操作。

作用

URLConnection类提供了丰富的方法,能够对连接进行设置和控制,像设置请求头、获取响应头、读取和写入数据等。

使用示例

下面的代码展示了如何使用URLURLConnection来读取网页的内容:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class URLConnectionExample {
    public static void main(String[] args) {
        try {
            // 创建一个URL对象
            URL url = new URL("https://www.example.com");

            // 打开URL连接
            URLConnection connection = url.openConnection();

            // 获取输入流
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 关闭流
            reader.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

总结

  • URL类用于表示和解析一个URL地址。
  • URLConnection类用于建立和管理与URL所指资源的连接,可进行数据的读写操作。

通过这两个类的配合使用,就能方便地实现对网络资源的访问。