日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java獲取URL鏈接的文件類型

在寫網(wǎng)絡(luò)爬蟲的時(shí)候,需要根據(jù)鏈接來獲取文件類型,將內(nèi)容正確存儲(chǔ)。之前我都是根據(jù)鏈接的后綴來判斷的,比如:

欽北網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

http://img12.360buyimg.com/da/20120330/88_31_ZySDre.jpg

這個(gè)鏈接指向的文件就是個(gè)jpg文件。但是后來發(fā)現(xiàn)有諸如

http://jprice.360buyimg.com/getSkuPriceImgService.action?skuId=1850001109&origin=1&webSite=1&type=1的鏈接,這招就不靈了。后來谷歌百度了一下也沒發(fā)現(xiàn)解決辦法。后來機(jī)緣巧合在Java Network Programming上找到了一個(gè)辦法:

URLConnection class provides two static methods to help programs figure out the MIME type of some data; you can use these if the content type just isn't available or if you have reason to believe that the content type you're given isn't correct。

就是說URLConnection提供了兩種方法可以猜測(根據(jù)實(shí)測結(jié)果,這個(gè)猜測是相當(dāng)?shù)臏?zhǔn))數(shù)據(jù)的MIME類型。

第一個(gè)是:

 
 
 
  1. public static String guessContentTypeFromName(String name) 

這個(gè)方法根據(jù)URL文件部分的后綴名來判斷類型,跟之前我的方法一樣。這個(gè)不能解決上面那個(gè)問題。

第二個(gè)是:

 
 
 
  1. public static String guessContentTypeFromStream(InputStream in)  

這個(gè)方法是根據(jù)流的前面幾個(gè)字節(jié)來判斷類型,這個(gè)就不需要文件后綴名了,完全可以解決上面那個(gè)問題。

測試代碼如下:

 
 
 
  1. BufferedInputStream bis = null;  
  2. HttpURLConnection urlconnection = null;  
  3. URL url = null;          
  4.         url = new URL(strUrl);  
  5.     urlconnection = (HttpURLConnection) url.openConnection();  
  6.     urlconnection.connect();  
  7. bis = new BufferedInputStream(urlconnection.getInputStream());  
  8.     System.out.println("file type:"+HttpURLConnection.guessContentTypeFromStream(bis)); 

原文鏈接:http://www.cnblogs.com/lisperl/archive/2012/05/21/2511224.html


分享題目:Java獲取URL鏈接的文件類型
本文地址:http://m.5511xx.com/article/cohdcis.html