使用java怎么下載Http內(nèi)容?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的平利網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序。
1、下載流程
在Internet上,我們要下載網(wǎng)站上的某一個(gè)資源 ,我們會(huì)獲得一個(gè)UR L(UniformResou rce Locator),它是一個(gè)服務(wù)器資源定位的描述 ,下載的過(guò)程經(jīng)常如下方法:
(1)客戶(hù)端發(fā)起連接請(qǐng)求一個(gè)URL
(2)服務(wù)器解析URL,并將指定的資源返回一個(gè)輸入流給客戶(hù)
(3)客戶(hù)端接收輸入流,將流中的內(nèi)容存到文件
2、實(shí)例
package com.hu.down; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class DownFile { public final static boolean DEBUG = true; //調(diào)試用 private static int BUFFER_SIZE = 1024; //緩沖區(qū)大小 public void saveToFile(String destUrl){ BufferedInputStream bis = null; HttpURLConnection httpUrl = null; URL url = null; byte[] buf = new byte[BUFFER_SIZE]; try { url = new URL(destUrl); } catch (MalformedURLException e) { // TODO Auto-generated catch block System.out.println(destUrl+"資源URL語(yǔ)法錯(cuò)誤,請(qǐng)檢查字符串是否正確!"); return; } try { httpUrl = (HttpURLConnection) url.openConnection(); } catch (IOException e) { System.out.println("打開(kāi)到 "+destUrl+"所引用的遠(yuǎn)程對(duì)象的連接失敗"); } try { httpUrl.connect(); } catch (IOException e) { System.out.println("打開(kāi)到此 "+destUrl+" 引用的資源的通信鏈接失敗"); return; } try { bis = new BufferedInputStream(httpUrl.getInputStream()); } catch (IOException e) { System.out.println("取得連接的Input流失敗"); return; } File file = new File("D:/upload" + destUrl.substring(destUrl.lastIndexOf("/"))); BufferedOutputStream fileOut=null; try { fileOut = new BufferedOutputStream(new FileOutputStream(file)); } catch (FileNotFoundException e) { System.out.println(file+"在本地保存文件失敗"); e.printStackTrace(); } try{ while (true) { int bytesIn = bis.read(buf, 0, 1024); if (bytesIn == -1) { break; } else { fileOut.write(buf, 0, bytesIn); } } fileOut.flush(); fileOut.close(); }catch(Exception ee){ System.out.println(file+"保存文件過(guò)程失敗"); } System.out.println(file.getAbsolutePath()+"下載完畢"); } public static void main(String[] args) throws IOException { DownFile d=new DownFile(); String youclass="11003080"; String baseUrl="http://photo/"+youclass; for(int i=301;i<=340;i++) { d.saveToFile(baseUrl+i+".jpg"); } } }
看完上述內(nèi)容,你們掌握使用java怎么下載Http內(nèi)容的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!