阅读量:1
在Go语言中,可以使用io.Copy()
函数来实现大文件传输功能。io.Copy()
函数会从源文件(例如,一个io.Reader
接口)中读取数据,并将其写入目标文件(例如,一个io.Writer
接口)。
以下是一个使用io.Copy()
函数实现大文件传输功能的示例代码:
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() // 创建目标文件 dst, err := os.Create(destinationFile) if err != nil { return err } defer dst.Close() // 复制数据 _, err = io.Copy(dst, src) if err != nil { return err } return nil }
在上述示例代码中,copyFile()
函数接受源文件和目标文件的路径作为参数,首先打开源文件和创建目标文件,然后使用io.Copy()
函数将源文件的内容复制到目标文件中。
注意,在实际应用中,可能需要处理更复杂的错误情况,例如,检查文件是否存在、权限是否正确等。此示例仅为了演示基本的大文件传输功能。