import java.net.URL;是什么类?

 我来答
百度网友66d722a
推荐于2016-04-19 · TA获得超过1166个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:232万
展开全部
这个你可以看API文档嘛,没有么?没有我可以发给你哦。这里我就把那段知识截取下来给你看看吧。希望能够帮到你,谢谢

public final class URL extends Object implements Serializable
类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。有关 URL 的类型和格式的更多信息,可从以下位置找到:

http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html
通常,URL 可分成几个部分。上面的 URL 示例指示使用的协议为 http (超文本传输协议)并且该信息驻留在一台名为 www.socs.uts.edu.au 的主机上。主机上的信息名称为 /MosaicDocs-old/url-primer.html。主机上此名称的准确含义取决于协议和主机。该信息一般存储在文件中,但可以随时生成。该 URL 的这一部分称为路径 部分。

URL 可选择指定一个“端口”,它是用于建立到远程主机 TCP 连接的端口号。如果未指定该端口号,则使用协议默认的端口。例如,http 协议的默认端口为 80。还可以指定一个备用端口,如下所示:

http://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html
URL 的语法由此文档定义:RFC 2396:Uniform Resource Identifiers (URI):Generic Syntax;在此文件中对其内容又进行了修正:RFC 2732:Format for Literal IPv6 Addresses in URLs。字面值 IPv6 地址格式还支持 scope_id。scope_id 的语法和用法在此处进行了描述。

URL 后面可能还跟有一个“片段”,也称为“引用”。该片段由井字符 "#" 指示,后面跟有更多的字符。例如,

http://java.sun.com/index.html#chapter1
从技术角度来讲,URL 并不需要包含此片段。但是,使用此片段的目的在于表明,在获取到指定的资源后,应用程序需要使用文档中附加有 chapter1 标记的部分。标记的含义特定于资源。

应用程序也可以指定一个“相对 URL”,它只包含到达相对于另一个 URL 的资源的足够信息。HTML 页面中经常使用相对 URL。例如,假设 URL 的内容是:

http://java.sun.com/index.html
其中包含的相对 URL:
FAQ.html
为以下形式的缩写:
http://java.sun.com/FAQ.html
相对 URL 不需要指定 URL 的所有组成部分。如果缺少协议、主机名称或端口号,这些值将从完整指定的 URL 中继承。但是,必须指定文件部分。可选的片段部分不继承。

URL 类自身并不根据 RFC2396 中定义的转义机制编码或解码任何 URL 部分。由调用方对任何需要在调用 URL 前进行转义的字段进行编码,并对从 URL 返回的任何经过转义的字段进行解码。进一步而言,由于 URL 不懂 URL 转义,所以它不会识别同一 URL 的对等编码和解码形式。例如,对于这两个 URL:
http://foo.com/hello world/ 和 http://foo.com/hello%20world
将被视为互不相等。
注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。

也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与 RFC2396 中定义的编码机制不同。
安全管理人12345gf
推荐于2018-03-12 · TA获得超过5523个赞
知道大有可为答主
回答量:5473
采纳率:62%
帮助的人:1240万
展开全部

 java.net.URL中定义了URL相关的操作,其主要利用的是openStream();方法来返回一个InputStream,然后可以使用InputStreamReader和BufferedReader来封装从而获取网上已发布的资源内容。具体使用如下:

package com.dylan.java.net;  
  
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.net.MalformedURLException;  
import java.net.URL;  
  
public class TestURL {  
  
    public static void main(String[] args) {  
        try {  
            // 创建一个对象  
            URL url = new URL("http://www.baidu.com/");  
            // URL对象的openStream() 方法返回的是一个InputStream输入流  
            InputStream is = url.openStream();  
  
            /* 
             * 读取输入流并且转化成为BufferedReader, 利用BufferedReader的rendLine()方法读出内容 
             */  
            InputStreamReader isr = new InputStreamReader(is);  
            BufferedReader bf = new BufferedReader(isr);  
            String str;  
            while ((str = bf.readLine()) != null) {  
                System.out.println(str);  
            }  
   
            /*这种写法不能读出全部网页内容,第一行没有打印出来,只打印出来了中间部分 ? 
             * while (bf.readLine() != null) { 
             * System.out.println(bf.readLine()); } 
             */  
  
        } catch (MalformedURLException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-06-23
展开全部
用来表示url的一个类,可以用来访问页面、获取地址等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李德华
2018-03-12 · TA获得超过387个赞
知道小有建树答主
回答量:268
采纳率:64%
帮助的人:38.2万
展开全部
java.net.URL中定义了URL相关的操作,其主要利用的是openStream();方法来返回一个InputStream,然后可以使用InputStreamReader和BufferedReader来封装从而获取网上已发布的资源内容。具体使用如下:
package com.dylan.java.net;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class TestURL {

public static void main(String[] args) {
try {
// 创建一个对象
URL url = new URL("http://www.baidu.com/");
// URL对象的openStream() 方法返回的是一个InputStream输入流
InputStream is = url.openStream();

/*
* 读取输入流并且转化成为BufferedReader, 利用BufferedReader的rendLine()方法读出内容
*/
InputStreamReader isr = new InputStreamReader(is);
BufferedReader bf = new BufferedReader(isr);
String str;
while ((str = bf.readLine()) != null) {
System.out.println(str);
}

/*这种写法不能读出全部网页内容,第一行没有打印出来,只打印出来了中间部分 ?
* while (bf.readLine() != null) {
* System.out.println(bf.readLine()); }
*/

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式