1. 程式人生 > >檔案下載,獲取流

檔案下載,獲取流

昨天有寫到 下載證書用到 下載檔案,儲存本地並獲取檔案流;但是經過考慮感覺 自己的目前主要是獲取下載的內容的輸入流;那這樣的話就不用儲存檔案;這一步了;

所以就有了簡單的調整 也就是 :獲取下載檔案 流  -->直接讀取流  就OK了;

1:網路下載:



    public static InputStream getinputStram(String URL_Path) {// 通過 流 獲取到圖片資源
        InputStream inputStream = null;


        try {
            URL url = new URL(URL_Path);
            if (url != null) {
                HttpURLConnection httpURLConnection = (HttpURLConnection) url
                        .openConnection();// 開啟網路連線
                httpURLConnection.setRequestMethod("GET");
                httpURLConnection.setConnectTimeout(3000);
                httpURLConnection.setDoInput(true);
                int responseCode = httpURLConnection.getResponseCode();// 獲取連線返回的
                // 標識碼
                if (responseCode == 200) {// 表示連線成功
                    inputStream = httpURLConnection.getInputStream();


                }
            }


        } catch (Exception e) {
            // TODO: handle exception
        }


        return inputStream;
    }

2:獲取下載的檔案流:

InputStream  inputStream ;

      new Thread(){
                @Override
                public void run() {
                    super.run();
                    inputStream = getinputStram(URL_Path1);// 線上程中獲取到 資料 在Handler 中更新資料


                    has.sendEmptyMessage(1);
                }
            }.start();

3:通過Hander更新UI資料;對流進行處理操作;



   //LS:新增的 獲取證書的輸出流資料
    Handler has = new Handler() {
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 1:
              //在這一步 對獲取的檔案流進行操作 就可以了;inputStream

//下面是個處理的例子:讀取流 轉成String ;
                    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                    StringBuilder sb = new StringBuilder();
                    String readline =null ;
                    try {
                        while ((readline = br.readLine()) != null) {
                            sb.append(readline);
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    Log.e("filessssss---:", "filesssss---:" + sb.toString());
                    System.out.println("result"+sb.toString());


                    break;


                default:
                    break;
            }


        };
    };


4:OK   很簡單 ;但是  沒做過筆記;以後無論問題大小;儘量做筆記;

注意:、

A:網路操作一般都會用到執行緒;(儘量非同步操作;不過具體視情況而定。)

B:更新UI 一般都要用到 Handler,對資料進行更新或操作。

C:記得新增網路許可權。

相關推薦

檔案下載獲取

昨天有寫到 下載證書用到 下載檔案,儲存本地並獲取檔案流;但是經過考慮感覺 自己的目前主要是獲取下載的內容的輸入流;那這樣的話就不用儲存檔案;這一步了; 所以就有了簡單的調整 也就是 :獲取下載檔案

檔案匯出_TXT、EXCEL:檔案下載直接寫出

web專案中,檔案匯出一般都是直接呼叫瀏覽器的下載。這裡採用流寫出,是為了不在伺服器上保留檔案佔用空間。 流寫出時,關鍵是配置response的三個屬性:編碼、型別、標頭檔案 1、ContentType:傳輸檔案型別 application/octet-stream--

關於m3u8連結的下載獲取到真實的TS資訊

關於m3u8連結的下載規則,獲取到真實的TS流資訊 範例1: https://135zyv5.xw0371.com/2018/10/29/X05c7CG3VB91gi1M/playlist.m3u8 內容為: 直接帶TS流,無需再次訪問尋找   範例2:

form檔案上傳、下載獲取返回值

將form的target值指向一個iframe的name值,檔案上傳、下載後獲取iframe的內容: <form target="name" method="post" action="下載路徑" enctype="multipart/form-d

Vue.js下載檔案及判斷上傳檔案型別獲取上傳檔案大小

目錄 下載檔案 方法一  方法二 方法三 1.程式碼 1.程式碼 1.程式碼 下載檔案 所用的瀏覽器:Google Chrome 方法一 功能:點選匯出按鈕,提交請求,下載excel檔案; 1.跟後端

java獲取檔案MD5獲取字串MD5

 獲取md5值4個步驟: 1.建立MessageDigest物件md5。 2.使用md的update(byte[] buffer)方法將資料更新到md5物件中。 3.使用md5的digest()方法獲得摘要,該摘要是一個長度為16的陣列。 4.將該摘要陣列轉換為32位

js實現伺服器端pdf檔案下載支援谷歌

1.txt文字檔案實現下載而不是在瀏覽器中開啟 對於txt檔案發現下面的方法並不適用,ie瀏覽器會自動開啟,通過查詢發現通過《download.js》下載download.js,頁面引用此js後,直接呼叫 download("檔案路徑","檔名稱","text/plain") 就可以直接

linux安裝nginx和域名跳轉檔案下載負載均衡(三)

參考連結::https://www.cnblogs.com/knowledgesea/p/5199046.html 一。跳轉檔案目錄 實現檔案下載 server { listen 80; server_name 域名; lo

在js檔案獲取webconfig中的配置資訊

webconfig中的配置資訊 <!--預設押金--> <add key="OverDueMoney" value="80" /> 1.在客戶端頁面(非單獨的js檔案),可以直接獲取webconfig的配置資訊

javaweb通過介面來實現多個檔案壓縮和下載(包括單檔案下載檔案批量下載

  程式設計師在做web等專案的時候,往往都需要新增檔案上傳、下載、刪除的功能,有時是單檔案,有時多檔案批量 操作,而這些功能的程式碼程式設計師可以自己收藏起來當成工具使用,這樣,程式設計師在進行程式設計的時候就會事半功倍 了,那麼接下來的部落格將會介紹各個框架的檔案上傳和下

Python selenium —— 檔案下載不彈出視窗直接下載到指定路徑

今天談談檔案下載吧,很多人不會處理彈出的檔案下載框,其實跟上傳類似,可以用autoit和win32api解決,方法類似,可以看博主之前的文章 ,今天這裡博主主要想講講更漂亮的一種處理辦法,那就是指定下載路徑,不彈出彈框,直接下載到指定路徑。 今天主要分享Fi

java解析壓縮檔案.zip獲取資料夾下的資料

/**  * 資料包Controller  * @author cookie  * @version 2017-08-23  */ public class BudgetDateController extends BaseController {           

Django檔案下載解決Django中文名問題

支援大檔案下載和Django檔案中文名字 #iterator def readFile(file_name):     f= open(file_name,'rb')     while True:         c= f.read(1024)         if

ajax呼叫後臺實現檔案下載不彈出下載提示框無法下載

在做ajax呼叫後臺實現檔案下載時,出現了後臺返回前端正確資料,但前臺就是不提示下載框,且沒有下載檔案 $.ajax({ "url" : urlStr + 'exportFile', "method" : "POST", "data" : { "list

Spring MVC 實現檔案下載解決檔案下載漢字亂碼問題

package com.ss.cms.action; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.

C#獲取從指定的檔案路徑獲取檔案的圖示然後顯示在image裡

 我是想動態的向toolstrip裡新增imagebutton,然後設定各項引數;ToolStripButton tsb = new ToolStripButton("aa");    tsb.Image =    //這個是設定imagebutton的圖片,是從指定的EXE檔案裡獲得圖片。不知道怎麼弄  

C/C++解析檔案路徑獲取碟符、路徑、檔名及副檔名

經常要處理跟檔案相關的東西,免不了要做一些解析路徑以及檔名副檔名的工作。 以前傻傻的自己去strstr斜槓,然後慢慢匹配解析,後來才發現有API做好了相應的工作了。。。 函式原型: void _splitpath( constchar *path, char 

nodejs 處理表單上傳檔案獲取不到表單資料

from表單上傳檔案時,為保證檔案正確的編碼格式,我們會為form設定 enctype="multipart/form-data" 屬性,但此時我們又不能獲取到input傳遞的值。 表單中enctyp

無重新整理實現檔案下載同時帶有錯誤提示

JS方法 //匯出資料 function exportData(){ var url = "<%=request.getContextPath()%>/web/fms/receivedPaymentExp

python查詢功能查詢檔案內容獲取需要的部分並返回很實用的

要實現的功能__name__系統變數設計規範python檔案只寫功能,不會執行的功能可以執行的部分,寫在測試程式碼時也寫在這裡開始寫功能選單響應字典 執行響應如何一步就從裡層迴圈直接退出全部的讀檔案並在