URL:是统一资源定位器的简称,它表示Internet某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的www,ftp站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。
组成:URL的基本结构由5部分组成。
<传输协议>://<主机名>:<端口号>/<文件名>#<引用>
http://www.tomcat.com:80/Gamelan/network.htm#BOTTOM
协议名://机器名+端口号+文件名+内部引用
为了表示URL,java.net包中实现了类URL。
构造方法
① URL(String url)
//url代表一个绝对地址,URL对象直接指向这个资源,如:
URL url=new URL(http://www.baidu.com);
② URL(URL baseURL,String relativeURL)
//其中,baseURL代表绝对地址,relativeURL代表相对地址,如:
URL url=new URL(http://www.baidu.com);
URL lib=new URL(url,”library/library.htm”);
③ URL(String protocol,String host,String file)
//其中,protocol代表通信协议,host代表主机名,file代表文件名,如:
new URL(“http”,www.baidu.com,”/test/test.htm”);
④ URL(String protocol,String host,int port,String file)
URL lib = new URL(“http”,www.baidu.com,80,”/test/test.htm”);
获取URL对象的属性
① getFile():获得URL指定资源的完整文件名。
② getHost():返回主机名。
③ getPath():返回指定资源的文件目录和文件名。
④ getPort():返回端口号。
⑤ getProtocol():返回表示URL中协议的字符串对象。
⑥ getRef():返回URL中的HTML文档标记,即#号标记。
⑦ getUserInfo():返回用户信息。
URL有两种方法可以用来访问Interent上资源。
① 使用URL的openConnection()方法创建一个URLConnection类的对象。再通过URLConnection对象获取相应的输入/输出流。
② 利用URL类的openStream()方法。openStream()方法与指定的URL建立连接并返回InputStream类的对象。
示例:下载url文件到指定目录
下载方法:
1 class DownLoadUtil {
2 public static void download(String urlString, String fileName,
3 String savePath) throws IOException {
4 URL url = new URL(urlString);
5 //方法一
6 // URLConnection conn = url.openConnection();
7 // InputStream is = conn.getInputStream();
8
9 //方法二
10 InputStream is = url.openStream();
11
12 byte[] buff = new byte[1024];
13 int len = 0;
14 File file = new File(savePath);
15 if (!file.exists()) {
16 file.mkdirs();
17 }
18 OutputStream os = new FileOutputStream(file.getAbsolutePath() + "\\"
19 + fileName);
20 while ((len = is.read(buff)) != -1) {
21 os.write(buff, 0, len);
22 }
23 // 释放资源
24 os.close();
25 is.close();
26 }
27 }
主方法:
1 try {
2 DownLoadUtil
3 .download(
4 "http://images.sohu.com/saf/a2016/0511/wKiDRFcy-16AHkkXAABH52NJX18606.jpg",
5 "my.jpg", "d:/ceshi");
6 } catch (IOException e) {
7 e.printStackTrace();
8 }