1. 程式人生 > >HttpURLConnection實現檔案下載

HttpURLConnection實現檔案下載

public class DownloadTest {
    public static void main(String[] args) {
        try {
            HttpURLConnection connection = (HttpURLConnection) new URL("http://skycnxz2.wy119.com/4/wandoujia.apk.apk").openConnection();
            connection.setRequestMethod("GET");
            int code = connection.getResponseCode();
            if (code == 200) {
//                Map<String, List<String>> fields = connection.getHeaderFields();
//                for (Map.Entry<String, List<String>> entry : fields.entrySet()) {
//                    System.out.println(entry.getKey());
//                    System.out.println(entry.getValue());
//                    System.out.println("===================");
//                }
                int contentLength = connection.getContentLength();
                InputStream is = connection.getInputStream();
                FileOutputStream fos = new FileOutputStream("test.apk");
                long sum = 0;
                byte[] buffer = new byte[102400];
                int length;
                long startTime = System.currentTimeMillis();
                while ((length = is.read(buffer)) != -1) {
                    fos.write(buffer, 0, length);
                    sum += length;
                    float parent = sum * 100.0f / contentLength;
                    System.out.print("\r[");
                    int p = (int) parent / 2;
                    for (int i = 0; i < 50; i++) {//進度條實現
                        if (i < p) {
                            System.out.print('=');
                        } else if (i == p){
                            System.out.print('>');
                        } else {
                            System.out.print(' ');
                        }
                    }
                    System.out.print(']');
                    System.out.printf("\t%.2f%%", parent);
                    long speed = sum * 1000 / (System.currentTimeMillis() - startTime);
                    if (speed > (1 << 20)) {
                        System.out.printf("\t%d MB/s", speed >> 20);
                    } else if (speed > (1 << 10)) {
                        System.out.printf("\t%d KB/s", speed >> 10);
                    } else {
                        System.out.printf("\t%d B/s", speed);
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

相關推薦

HttpURLConnection實現檔案下載

public class DownloadTest { public static void main(String[] args) { try { HttpURLConnection connection = (HttpUR

利用HttpURLConnection實現遠端下載檔案

/files/document/使用者.txt" ;URL url = new URL(fileurl);HttpURLConnection  urlc = (HttpURLConnection) url.openConnection();urlc.setRequestProperty("Content-ty

Spring 實現檔案下載功能

方式1: public void download(HttpServletResponse response,@RequestParam(value="params") String params) throws IOException, DocumentException{ response

JQuery 實現檔案下載

GET方式 window.location.href = url; POST方式 var url = "下載介面地址"; // 構造隱藏的form表單 var $form = $("<form id='download' class='hidden' method='po

Servlet實現檔案下載

在瀏覽網站的時候很多涉及到檔案下載的情況,在初學JavaWeb的時候我們如何使用Servlet來實現檔案下載呢? 在學習此之前,我們要知道兩個重要的概念。request和response。請求和相應。 請求:請求頭、請求行、請求體。 相應:相應頭、相應行、相應體。 大家可以上網找一下

java web實現檔案下載

javaweb實現檔案下載 實現檔案下載 解決下載檔名帶有中文亂碼問題 效果圖 實現思路 根據請求連接獲取檔名和檔案型別,設定響應頭,獲取輸入流和輸出流 核心程式碼 public void doGet(HttpServletR

mvc 在彈出框中實現檔案下載

var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent; FileDown = function (fileName, realFileName) { $

前端實現檔案下載和拖拽上傳

蘇格團隊 作者:WDZ 交流QQ群:855833773 歡迎加入我們的團隊,微信聯絡方式:foreverpx_cjl 筆者在業務中碰到了需要下載示例和拖拽上傳並實現進度條的功能,針對過程中遇到的問題,筆者進行了相應的總結。 需求 頁面中增加下載示例按鈕

Java多執行緒使用執行緒池實現檔案下載

多執行緒下載原理: 1、基本思路是將檔案分段切割、分段傳輸、分段儲存。 2、分段切割用到HttpUrlConnection物件的setRequestProperty(“Range”, “bytes=” + start + “-” + end)方法。 3、分段傳輸用到HttpU

使用Servlet實現檔案下載

檔案下載 直接在html或jsp頁面寫入超連結 <!--點選後 瀏覽器可以解析的會自動開啟 不能解析度提示下載--> <a href="專案名/資源路徑">資源路</a> 編寫檔案下載功能 即不讓瀏覽器解析

Spring Boot實現檔案下載功能

我們只需要建立一個控制器(Controler)檔案,即Controller目錄下的File_Download.java,其完整目錄如下: @Controller public class File_Download { //實現Spring Boot 的檔案下載功能,對映網址為/download

C#實現檔案下載

/// <summary> /// 使用OutputStream.Write分塊下載檔案 /// </summary> /// <param name="filePath"></param>

通過檔案url,實現檔案下載

通過url實現檔案下載 @Log("下載檔案") @ResponseBody @RequestMapping(value = "/download", method = RequestMethod.GET) public R Download(HttpServletResp

點選按鈕實現檔案下載

一、使用背景 一般來說,當我們上傳檔案之後,便會要提供檔案下載的入口。而其實檔案下載就是獲取檔案,並將檔案內容寫入到HTTP返回響應的過程。 二、前端實現方式 構造form表單提交 1、引入相關j

SpringMVC實現檔案下載功能(檔案匯出功能)

1.頁面程式碼 <a class="layui-btn" href="${pageContext.request.contextPath}/bAndWListManage/downloadWhiteListTmp.do" onclick="downloadTempla

Android Webview實現檔案下載功能

                    在做美圖欣賞Android應用的時候,其中有涉及到Android應用下載的功能,這個應用本身其實也比較簡單,就是通過WebView控制呼叫相應的WEB頁面進行展示。剛開始以為和普通的檔案下載實現,只需要一個連結,然後點選就可以實現下載了,可是放到手機上試的時候,點選下載

談一談url實現檔案下載

前幾天,一個關於下載的問題,把我困在原地蠻久,記錄一下。 說到標題,後臺返回一個url,前端瀏覽器開啟實現下載功能,直接想到的就是window.open(url) 來實現下載,但是這種方法 我個人認為一閃而過的白色頁面導致使用者體驗不是很好, so,就隨手寫寫。 1 wi

a標籤實現檔案下載

通過純前端技術實現檔案下載,使用a標籤的href屬性即可,如下: <a href="http://cdn.com/files/dowload?path=group1/M00/00/A7/wKgGSVvlJAMV9nkv5Vo853.pdf">download&l

java實現檔案下載的三種方式

public HttpServletResponse download(String path, HttpServletResponse response) {         try {          

javaweb實現檔案下載(包含.txt檔案等預設在瀏覽器中開啟的檔案

檔案下載  剛開始研究檔案下載是找有關js的方法,找了好多發現對於.txt、.xls等檔案在瀏覽器中還是開啟,或者就是跨域問題。後來通過查詢資料發現可以在後臺對http相應頭設定引數,而且實現起來也不復雜。現總結如下: 文章參考 《javaweb檔案下載》、《根據網路url 實現w