在Go語言中,可以使用io.Copy()
函數(shù)來實現(xiàn)大文件傳輸功能。io.Copy()
函數(shù)會從源文件(例如,一個io.Reader
接口)中讀取數(shù)據,并將其寫入目標文件(例如,一個io.Writer
接口)。
以下是一個使用io.Copy()
函數(shù)實現(xiàn)大文件傳輸功能的示例代碼:
package main
import (
"fmt"
"io"
"os"
)
func main() {
sourceFile := "./source.txt" // 源文件路徑
destinationFile := "./destination.txt" // 目標文件路徑
err := copyFile(sourceFile, destinationFile)
if err != nil {
fmt.Println("文件傳輸失敗:", err)
return
}
fmt.Println("文件傳輸完成")
}
// 復制文件
func copyFile(sourceFile string, destinationFile string) error {
// 打開源文件
src, err := os.Open(sourceFile)
if err != nil {
return err
}
defer src.Close()
// 創(chuàng)建目標文件
dst, err := os.Create(destinationFile)
if err != nil {
return err
}
defer dst.Close()
// 復制數(shù)據
_, err = io.Copy(dst, src)
if err != nil {
return err
}
return nil
}
在上述示例代碼中,copyFile()
函數(shù)接受源文件和目標文件的路徑作為參數(shù),首先打開源文件和創(chuàng)建目標文件,然后使用io.Copy()
函數(shù)將源文件的內容復制到目標文件中。
注意,在實際應用中,可能需要處理更復雜的錯誤情況,例如,檢查文件是否存在、權限是否正確等。此示例僅為了演示基本的大文件傳輸功能。