import java.net.URL;是什么类?
4个回答
展开全部
这个你可以看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 中定义的编码机制不同。
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 中定义的编码机制不同。
展开全部
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的一个类,可以用来访问页面、获取地址等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
}
}
}
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();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询