[問題] java 檔案 壓縮 續傳

看板java作者 (饅頭)時間14年前 (2011/12/21 13:34), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
想請教板上的專家一個問題 我現在在做一個 檔案 壓縮 續傳的工具 一般檔案續傳的方式就是 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

12/24 02:55, , 1F
請問是在什麼樣的環境做測試?
12/24 02:55, 1F

12/26 11:22, , 2F
目前是利用 windows D:/ 做簡單的資料 分割 壓縮 傳輸
12/26 11:22, 2F
文章代碼(AID): #1EyM_Pe1 (java)