欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)分段讀取文件并通過HTTP上傳的方法

 更新時間:2015年07月21日 12:30:31   作者:華宰  
這篇文章主要介紹了java實現(xiàn)分段讀取文件并通過HTTP上傳的方法,實例分析了java分段讀取文件及使用http實現(xiàn)文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了java實現(xiàn)分段讀取文件并通過HTTP上傳的方法。分享給大家供大家參考。具體如下:

1、首先將文件分段,用RandomAccessFile
2、分段后將分出的內(nèi)容上傳到http

URL url = new URL(actionUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
/** 允許Input、Output,不使用Cache */
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
/** 設(shè)定傳送的method=POST */
con.setRequestMethod("POST");
/** setRequestProperty */
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Charset", "UTF-8");
con.setRequestProperty("Content-Type",
 "multipart/form-data;boundary=" + boundary);
/** 設(shè)定DataOutputStream */
DataOutputStream ds = new DataOutputStream(con.getOutputStream());
ds.writeBytes(twoHyphens + boundary + end);
ds.writeBytes("Content-Disposition: form-data; "
 + "name=\"file1\";filename=\"" + newName + "\"" + end);
ds.writeBytes(end);
/** 取得文件的FileInputStream */
FileInputStream fStream = new FileInputStream(uploadFile);
/** 設(shè)定每次寫入1024bytes */
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int length = -1;
/** 從文件讀取數(shù)據(jù)到緩沖區(qū) */
while ((length = fStream.read(buffer)) != -1)
{
/** 將數(shù)據(jù)寫入DataOutputStream中 */
ds.write(buffer, 0, length);
}
ds.writeBytes(end);
ds.writeBytes(twoHyphens + boundary + twoHyphens + end);
/** close streams */
fStream.close();
ds.flush();

希望本文所述對大家的java程序設(shè)計有所幫助。

相關(guān)文章

  • SpringBoot Entity中枚舉類型詳細使用介紹

    SpringBoot Entity中枚舉類型詳細使用介紹

    本文介紹SpringBoot如何在Entity(DAO)中使用枚舉類型。(本文使用MyBatis-Plus)。在實際開發(fā)中,經(jīng)常會遇到表示類型或者狀態(tài)的情況,比如:有三種支付方式:微信、支付寶、銀聯(lián)。本文介紹如何這種場景的方案對比,并用實例來介紹如何用枚舉這種最優(yōu)雅的來表示
    2022-10-10
  • java多線程-讀寫鎖原理

    java多線程-讀寫鎖原理

    本文主要介紹java多線程的知識,這里整理了相關(guān)資料及簡單示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • java實現(xiàn)LRU緩存淘汰算法的方法

    java實現(xiàn)LRU緩存淘汰算法的方法

    LRU(Least recently used,最近最少使用)算法根據(jù)數(shù)據(jù)的歷史訪問記錄來進行淘汰數(shù)據(jù),其核心思想是“如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也更高”。下面看下java實現(xiàn)LRU緩存淘汰算法的方法,一起看看吧
    2021-11-11
  • 排序算法圖解之Java選擇排序

    排序算法圖解之Java選擇排序

    選擇排序的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最小(大)元素,然后放到已排序的序列的末尾。本文通過圖片和示例介紹了選擇排序,需要的可以參考一下
    2022-11-11
  • IDEA最新版2020.1的maven工程本地依賴倉庫無法使用問題(已解決)

    IDEA最新版2020.1的maven工程本地依賴倉庫無法使用問題(已解決)

    這篇文章主要介紹了IDEA最新版2020.1的maven工程本地依賴倉庫無法使用問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • java selenium Selenium IDE介紹及用法

    java selenium Selenium IDE介紹及用法

    本文主要介紹java selenium Selenium IDE,這里整理了相關(guān)資料和介紹如何安裝 Selenium IDE和使用方法,有需要的小伙伴可以參考下
    2016-08-08
  • java 中 ChannelHandler的用法詳解

    java 中 ChannelHandler的用法詳解

    這篇文章主要介紹了java 中 ChannelHandler的用法詳解的相關(guān)資料,ChannelHandler處理一個I/O event或者攔截一個I/O操作,需要的朋友可以參考下
    2017-08-08
  • 基于Nacos實現(xiàn)Spring Cloud Gateway實現(xiàn)動態(tài)路由的方法

    基于Nacos實現(xiàn)Spring Cloud Gateway實現(xiàn)動態(tài)路由的方法

    這篇文章主要介紹了基于Nacos實現(xiàn)Spring Cloud Gateway實現(xiàn)動態(tài)路由的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • java中JsonObject與JsonArray轉(zhuǎn)換方法實例

    java中JsonObject與JsonArray轉(zhuǎn)換方法實例

    在項目日常開發(fā)中常常會遇到JSONArray和JSONObject的轉(zhuǎn)換,很多公司剛?cè)肼毜男∶刃聲ㄔ谶@里,下面這篇文章主要給大家介紹了關(guān)于java中JsonObject與JsonArray轉(zhuǎn)換方法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • spring-data-redis 2.0 的使用示例代碼

    spring-data-redis 2.0 的使用示例代碼

    這篇文章主要介紹了spring-data-redis 2.0 的使用示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01

最新評論