📜  java url - Java (1)

📅  最后修改于: 2023-12-03 14:42:16.976000             🧑  作者: Mango

Java URL

Java URL类提供了一个统一资源定位符的接口,其中包括用于打开流以读取和写入的方法,以及用于获取有关 URL 元数据的方法。URL 中包含了协议(例如 http、https、ftp 等)、主机、端口和路径等信息。

创建 URL 对象

可以使用以下构造函数来创建 URL 对象:

URL url = new URL(String protocol, String host, int port, String file);
URL url = new URL(String url);

第一个构造函数用于创建指定协议、主机、端口和路径的 URL。例如:

URL url = new URL("http", "www.baidu.com", 80, "/index.html");

第二个构造函数用于创建通过字符串描述的 URL。例如:

URL url = new URL("http://www.baidu.com/index.html");
读取 URL 内容

可以使用 openStream() 方法打开一个 URL 的输入流,并从中读取内容。例如:

try {
    URL url = new URL("http://www.baidu.com");
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
获取 URL 元数据

可以使用以下方法获取 URL 的元数据:

String getProtocol(); // 获取协议
String getHost(); // 获取主机
int getPort(); // 获取端口
String getFile(); // 获取路径
String getQuery(); // 获取查询字符串

例如:

try {
    URL url = new URL("http://www.baidu.com/index.html?a=1&b=2");
    System.out.println("Protocol: " + url.getProtocol());
    System.out.println("Host: " + url.getHost());
    System.out.println("Port: " + url.getPort());
    System.out.println("File: " + url.getFile());
    System.out.println("Query: " + url.getQuery());
} catch (MalformedURLException e) {
    e.printStackTrace();
}

输出结果为:

Protocol: http
Host: www.baidu.com
Port: -1
File: /index.html
Query: a=1&b=2
总结

Java URL 提供了一种方便的方式来处理统一资源定位符,并且可以方便地访问其中的元数据和内容。