Go語言實現檔案的斷點續傳

2021-10-01 04:18:33 字數 791 閱讀 5522

注釋在**中

package main

import

("fmt"

"io"

"log"

"os"

"strconv"

"strings"

)func main()

// 寫入目標檔案

n3, err = file2.

write

(data[

:n2]

)// 讀取總量相加

total += n3

// 將複製的總量,儲存在臨時檔案中,從頭開始寫

file3.

seek(0

, io.seekstart)

// 寫入臨時檔案中讀取的資料量的位置

file3.

writestring

(strconv.

itoa

(total)

) fmt.

printf

("total: %d\n"

, total)

//模擬斷點,第一次放開注釋,使程式中斷,第二次,完成續傳,檔案傳遞完畢後刪除臨時檔案

//if total > 8000 }}

func handleerr

(err error)

}

實現思路:

讀取的位元組數量,存放在乙個臨時檔案中,當程式被中斷,再次讀取的時候,去臨時檔案中將那個資料拿到,從臨時檔案中儲存的資料再次開始讀取檔案,讀取完畢後,刪除臨時檔案.

臨時檔案只是記錄讀取的位置

go語言基礎 斷點續傳

我們可以利用讀寫來複製檔案,也可以在複製的同時,再新建乙個臨時檔案儲存讀寫的進度,如果有意外發生,我們還可以通過臨時檔案中的進度,來繼續複製檔案 packagemain import os fmt strconv io funcmain file2.write databytes count2 to...

python實現檔案斷點續傳

usr bin env python coding utf 8 import socket import os sock socket.socket sock.bind 127.0.0.1 8080 sock.listen 5 had recv 0 while true conn,client ad...

ftp 檔案斷點續傳

1 ftp 伺服器資訊實體類 public class ftpserverbean param hostname 伺服器位址 public void sethostname string hostname 獲取伺服器端口 return port 返回伺服器端口 public int getport ...