- 定义:统一资源定位符,
可以直接使用此类找到互联网上的资源如一个简单的网页。
URL:统一资源定位符:定位到了网络上一个具体的资源【文件】html 、java 、avi、 doc、mp3 URL对象:具体的指向了网络上一个具体的资源
一般组成: 协议名,资源所在主机,端口,资源名等部分组成
- URL类中的常用方法:
构造方法:(形参参考URL的组成) URL(String protocol, String host, int port, String file)
方法 : InputStream openStream() 打开到此 URL 的连接并返回一个用于从该连接读入的InputStream。 URI toURI() 返回与此 URL 等效的
- URI URLEncoder与URLDecoder
地址栏里的英文和数字能正常显示,可是汉字不再显示汉字;那是因为对汉字进行了编码操作。一般在网络程序开发中传递中文时使用到
package cn.itsource._03URL;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
/**
* URL:统一资源定位符
* 定位到了网络上一个具体的资源【文件】例如:html java avi doc mp3
* URL对象:定位到了网络上一个具体的资源【文件】html java avi doc mp3
* 一般组成:协议名,资源所在主机,端口,资源名等部分组成
* 构造方法:URL(String protocol, String host, int port, String file)
方法 :
InputStream openStream() 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
URI toURI() 返回与此 URL 等效的 URI
*/
import java.net.URI;
import java.net.URL;
public class TestURL {
public static void main(String[] args) {
try {
//连接网上资源
URL url = new URL("http", "www.aihami.com","/a/dangjian/shibada/367209.html");
//读取网上的资源
InputStream openStream = url.openStream();
//写入本地
FileOutputStream fos = new FileOutputStream("G:/A/shibada.html");
//读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
int len;
byte[] b = new byte[1024];
while ((len = openStream.read(b)) != -1) {
fos.write(b);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}