java网络编程--5 URL 下载网络资源

1.8、URL

统一资源定位符,定位互联网的某一个资源

DNS域名解析 www.baidu.com -->xxx.xxx.xxx.xxx

// 协议://IP地址:端口号/项目名/资源
package com.ssl.lesson04;

import java.net.URL;

public class URLDemo01 {
    public static void main(String[] args) throws Exception{
        URL url = new URL("http://localhost:8080/helloworld/index.jsp?username=ssl&password=123");
        System.out.println(url.getProtocol());   //协议
        System.out.println(url.getHost());    //主机ip
        System.out.println(url.getPort());   //端口
        System.out.println(url.getPath());   //文件
        System.out.println(url.getFile());   //全路径
        System.out.println(url.getQuery());   //参数

    }
}
package com.ssl.lesson04;


import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class URLDown {
    public static void main(String[] args) throws Exception{
        //1.下载地址
        URL url = new URL("https://aod.cos.tx.xmcdn.com/storages/8586-audiofreehighqps/5A/A4/CKwRIJEEXDtVABvE-gCjF11x.m4a");

        //2.连接到这个资源 HTTP
        HttpURLConnection urlConnection = (HttpURLConnection ) url.openConnection();

        InputStream inputStream = urlConnection.getInputStream();
        FileOutputStream fos = new FileOutputStream("关键词.m4a");

        byte[] buffer = new byte[1024];
        int len;
        while((len=inputStream.read(buffer))!=-1){
            fos.write(buffer,0,len);
        }
        fos.close();
        inputStream.close();
        urlConnection.disconnect();

    }
}