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庫lombok及注解的使用學(xué)習(xí)
不久前發(fā)現(xiàn)有一個(gè)java第三方庫可以在一定程度上幫助我們從體力勞動(dòng)中解救出來,它就是lombok。它提供了一些簡(jiǎn)單的注解,并以此來消除java中臃腫的模版代碼。本文對(duì)于一些常用到的注解做了一個(gè)簡(jiǎn)要的記錄,希望有更多的人enjoy it2022-07-07IDEA創(chuàng)建Java項(xiàng)目保姆級(jí)教程(超詳細(xì)!)
這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建Java項(xiàng)目保姆級(jí)教程的相關(guān)資料,Java是一種廣泛使用的編程語言,廣泛用于Web應(yīng)用程序和客戶端應(yīng)用程序的開發(fā),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09Java打印出所有的水仙花數(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-11SpringBoot+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