看板 java 關於我們 聯絡資訊
想請教板上的專家一個問題 我現在在做一個 檔案 壓縮 續傳的工具 一般檔案續傳的方式就是 local server 原始檔案大小 10000kB 已經上傳 5000kB 這時候中斷此連線 下次開始續傳 local 端就會從檔案的第5001kB開始上傳檔案到server端,上傳至10000kB時 就完成一次的檔案續傳功能 --------------------------------------------------------------- 現在我在做的是 原始檔案必須壓縮後,在上傳 但我也想做有續傳的功能 我使用的是 java 的 deflater (壓縮) 以及 inflater(解壓縮) 設計邏輯是 我切割每一塊的壓縮block為 1024k 每讀localFile 1024k後就丟進去 deflater做壓縮, 壓完及上傳至server 我現在會記錄我localFile讀了幾塊,且這幾塊total壓縮完的size是多少 舉例來說: 我localFile讀了5塊(1024*5=5120),這五塊total壓縮完的size為 1155 那這時候連線斷了, 我下次開始續傳就是從localFile的5120開始讀下一塊 然後壓縮出來的檔案就會從remoteFile的第1155開始往後寫, 問題就出在這來,這樣連接起來的壓縮檔雖然可以順,但是檔案大小就是會有異常? 異常指得是跟單一次執行一次把10000kB切割解壓後上傳的size會不一樣! 想請問板上的大家,我這種需要 分塊 壓縮 再上傳並支援續傳的寫法是不是哪裡出了問題? 謝謝喔! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.72.248.50
zephyrhymn:請問是在什麼樣的環境做測試? 12/24 02:55
Montals:目前是利用 windows D:/ 做簡單的資料 分割 壓縮 傳輸 12/26 11:22