最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java使用http實現(xiàn)文件下載學(xué)習(xí)示例

 更新時間:2014年04月13日 09:08:30   作者:  
這篇文章主要介紹了java使用http實現(xiàn)文件下載學(xué)習(xí)示例,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

package com.hongyuan.test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLDecoder;

public class FileDownload {

 public static final String LOCAL_PATH="d:/";

 public static void main(String[] args) {
  //待下載文件地址
  String fileUrl="http://211.162.55.16/cdn.baidupcs.com/file/6a73dab7c03023a9835cc737f447674d?xcode=af6ffdc43a44169bac968d32c4bd420084a9a97c308112c9&fid=3255571826-250528-130564002&time=1397293108&sign=FDTAXER-DCb740ccc5511e5e8fedcff06b081203-mQkOeRDtXpyQWwYJkI%2BxKJpxn5k%3D&to=cb&fm=N,B,U,nc&newver=1&expires=1397297563&rt=sh&r=854979042&logid=1751715936&sh=1&vuk=3255571826&fn=Web%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%20%E7%AC%AC5%E7%89%88.pdf&wshc_tag=0&wsiphost=ipdbm";
  InputStream in=null;
  OutputStream out=null;
  HttpURLConnection conn=null;
  String fileName=null;
  try {
   //初始化連接
   URL url=new URL(fileUrl);
   conn = (HttpURLConnection) url.openConnection();
   conn.setDoInput(true);
   conn.setDoOutput(true);

   //獲取文件名
   String disposition=conn.getHeaderField("Content-Disposition");
   if(disposition!=null&&!"".equals(disposition)){
    //從頭中獲取文件名
    fileName=disposition.split(";")[1].split("=")[1].replaceAll("\"","");
   }else{
    //從地址中獲取文件名
    fileName=fileUrl.substring(fileUrl.lastIndexOf("/")+1);
   }

   if(fileName!=null&&!"".equals(fileName)){
    //文件名解碼
    fileName=URLDecoder.decode(fileName, "utf-8");
   }else{
    //如果無法獲取文件名,則隨機(jī)生成一個
    fileName="file_"+(int)(Math.random()*10);
   }

   //讀取數(shù)據(jù)
   if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
    byte[] buffer=new byte[2048];
    in = conn.getInputStream();
    out=new FileOutputStream(new File(LOCAL_PATH,fileName));
    int count=0;
    int finished=0;
    int size=conn.getContentLength();
    while((count=in.read(buffer))!=-1){
     if(count!=0){
      out.write(buffer,0,count);
      finished+=count;
      System.out.printf("########################################---->%1$.2f%%\n",(double)finished/size*100);
     }else{
      break;
     }
    }
   }
  } catch (MalformedURLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   try {
    out.close();
    in.close();
    conn.disconnect();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
 }
}

相關(guān)文章

  • java開發(fā)分布式服務(wù)框架Dubbo暴露服務(wù)過程詳解

    java開發(fā)分布式服務(wù)框架Dubbo暴露服務(wù)過程詳解

    這篇文章主要為大家介紹了java開發(fā)分布式服務(wù)框架Dubbo暴露服務(wù)的過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾

    使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾

    這篇文章主要介紹了使用RequestBodyAdvice實現(xiàn)對Http請求非法字符過濾的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java利用jieba進(jìn)行分詞的實現(xiàn)

    java利用jieba進(jìn)行分詞的實現(xiàn)

    本文主要介紹了在Java中使用jieba-analysis庫進(jìn)行分詞,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Spring系列之事物管理

    Spring系列之事物管理

    這篇文章主要介紹了Spring系列之事物管理,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring方面知識具有一定的參考學(xué)習(xí)價值,需要的朋友們一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • Java并發(fā)編程示例(五):線程休眠與恢復(fù)

    Java并發(fā)編程示例(五):線程休眠與恢復(fù)

    這篇文章主要介紹了Java并發(fā)編程示例(五):線程休眠與恢復(fù),在本節(jié),我們將開發(fā)一個程序,使用sleep()方法來實現(xiàn)每秒鐘打印一次當(dāng)前時間,需要的朋友可以參考下
    2014-12-12
  • spring的幾個重要類和接口(詳解)

    spring的幾個重要類和接口(詳解)

    下面小編就為大家?guī)硪黄猻pring的幾個重要類和接口(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 詳解Java Spring各種依賴注入注解的區(qū)別

    詳解Java Spring各種依賴注入注解的區(qū)別

    這篇文章主要介紹了詳解Java Spring各種依賴注入注解的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • springboot國際化多語言配置方式

    springboot國際化多語言配置方式

    這篇文章主要介紹了springboot國際化多語言配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 示例解析java重載Overloading與覆蓋Overriding

    示例解析java重載Overloading與覆蓋Overriding

    這篇文章主要介紹了java重載Overloading與覆蓋Overriding的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Java實現(xiàn)Excel文件加密解密的示例代碼

    Java實現(xiàn)Excel文件加密解密的示例代碼

    設(shè)置excel文件保護(hù)時,通常可選擇對整個工作簿進(jìn)行加密保護(hù)。無需設(shè)置文檔保護(hù)時,可撤銷密碼保護(hù),即解密文檔。本文將通過java程序演示以上加密、解密方法的實現(xiàn),感興趣的可以了解一下
    2022-05-05

最新評論

长宁区| 来宾市| 普格县| 晋城| 滨海县| 马鞍山市| 黄梅县| 抚州市| 卫辉市| 普格县| 德保县| 丽水市| 莫力| 浪卡子县| 曲水县| 南康市| 唐山市| 德保县| 锡林浩特市| 河北省| 隆回县| 芮城县| 永州市| 法库县| 阳朔县| 土默特左旗| 中宁县| 抚松县| 资中县| 太谷县| 郯城县| 从江县| 民和| 高安市| 灵寿县| 德安县| 若尔盖县| 张家口市| 临桂县| 都兰县| 包头市|