golang 多个本地小文件合并成一个大文件
时间: 2024-04-12 12:28:58 浏览: 328
你可以使用以下代码片段将多个小文件合并成一个大文件:
```go
package main
import (
"io"
"log"
"os"
"path/filepath"
)
func mergeFiles(outputFile string, inputFiles []string) error {
out, err := os.Create(outputFile)
if err != nil {
return err
}
defer out.Close()
for _, inputFile := range inputFiles {
in, err := os.Open(inputFile)
if err != nil {
return err
}
defer in.Close()
_, err = io.Copy(out, in)
if err != nil {
return err
}
}
return nil
}
func main() {
outputFile := "output.txt"
inputFiles := []string{"file1.txt", "file2.txt", "file3.txt"}
err := mergeFiles(outputFile, inputFiles)
if err != nil {
log.Fatal(err)
}
log.Println("Files merged successfully.")
}
```
在上面的代码中,`mergeFiles` 函数接收一个输出文件和一个输入文件列表。它创建一个输出文件,并迭代输入文件列表,将每个输入文件逐行复制到输出文件中。最后,你可以在 `main` 函数中指定输出文件和输入文件列表,然后调用 `mergeFiles` 函数来合并文件。
请确保你在代码中使用正确的文件名和路径。此外,请注意错误处理以及适当的关闭文件句柄。
阅读全文