Java 根據(jù)url下載網(wǎng)絡(luò)資源
URL:統(tǒng)一資源定位符
例如:https://www.baidu.com
URL【統(tǒng)一資源定位符】:定位資源的,定位互聯(lián)網(wǎng)上的某一個(gè)資源。
DNS 域名解析:www.baidu.com【某一域名】指向 39.156.69.79【某一網(wǎng)站空間IP】
URL 組成:協(xié)議://ip地址:端口/項(xiàng)目名/資源
package lesson04;
import java.net.MalformedURLException;
import java.net.URL;
/**
* URL:統(tǒng)一資源定位符
*/
public class URLDemo1 {
public static void main(String[] args) throws MalformedURLException {
URL url = new URL("http://localhost:8080/helloworld/index.jsp?username=kuangshen&password=123");
//協(xié)議名
System.out.println(url.getProtocol());
//主機(jī)名-主機(jī)ip
System.out.println(url.getHost());
//端口
System.out.println(url.getPort());
//地址-文件路徑
System.out.println(url.getPath());
//文件-全路徑
System.out.println(url.getFile());
//查詢部分-參數(shù)
System.out.println(url.getQuery());
}
}
URL下載資源
package lesson04;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* URL下載資源
*/
public class URLDown {
public static void main(String[] args) throws Exception {
//1、下載地址
URL url = new URL("https://m10.music.126.net/20201121104035/2c5eb73ce4421a090b62647f6c486e2c/yyaac/obj/wonDkMOGw6XDiTHCmMOi/3625445007/7d37/4109/d0ef/d56e8176f5789a4e6f8b2173ce500bf6.m4a");
//2、連接到這個(gè)資源 HTTP
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
FileOutputStream fos = new FileOutputStream("f6.m4a");
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1){
fos.write(buffer, 0, len); //寫出這個(gè)數(shù)據(jù)
}
//關(guān)閉
fos.close();
inputStream.close();
//斷開連接
urlConnection.disconnect();
}
}
效果一覽

以上就是Java 根據(jù)url下載網(wǎng)絡(luò)資源的詳細(xì)內(nèi)容,更多關(guān)于Java 下載網(wǎng)絡(luò)資源的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java線程池ThreadPoolExecutor實(shí)現(xiàn)原理詳解
這篇文章主要介紹了java線程池ThreadPoolExecutor實(shí)現(xiàn)原理詳解,ThreadPoolExecutor是線程池實(shí)現(xiàn)類,會(huì)動(dòng)態(tài)創(chuàng)建多個(gè)線程,并發(fā)執(zhí)行提交的多個(gè)任務(wù),需要的朋友可以參考下2023-12-12
減少代碼開發(fā)工作的Java庫(kù)lombok及注解的使用學(xué)習(xí)
不久前發(fā)現(xiàn)有一個(gè)java第三方庫(kù)可以在一定程度上幫助我們從體力勞動(dòng)中解救出來(lái),它就是lombok。它提供了一些簡(jiǎn)單的注解,并以此來(lái)消除java中臃腫的模版代碼。本文對(duì)于一些常用到的注解做了一個(gè)簡(jiǎn)要的記錄,希望有更多的人enjoy it2022-07-07
IDEA創(chuàng)建Java項(xiàng)目保姆級(jí)教程(超詳細(xì)!)
這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建Java項(xiàng)目保姆級(jí)教程的相關(guān)資料,Java是一種廣泛使用的編程語(yǔ)言,廣泛用于Web應(yīng)用程序和客戶端應(yīng)用程序的開發(fā),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Java打印出所有的水仙花數(shù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Java打印出所有的水仙花數(shù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-02-02
啟動(dòng)SpringBoot報(bào)錯(cuò)Input length = 1問題及解決
這篇文章主要介紹了啟動(dòng)SpringBoot報(bào)錯(cuò)Input length = 1問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問題
這篇文章主要介紹了IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
SpringBoot+Prometheus+Grafana實(shí)現(xiàn)應(yīng)用監(jiān)控和報(bào)警的詳細(xì)步驟
這篇文章主要介紹了SpringBoot+Prometheus+Grafana實(shí)現(xiàn)應(yīng)用監(jiān)控和報(bào)警的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02

