首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 打开源文件
|
||||
srcFile, err := os.Open("io/source.txt")
|
||||
if err != nil {
|
||||
fmt.Printf("打开源文件失败: %v\n", err)
|
||||
return
|
||||
}
|
||||
defer srcFile.Close()
|
||||
|
||||
// 创建目标文件
|
||||
dstFile, err := os.Create("io/bufio_copy.txt")
|
||||
if err != nil {
|
||||
fmt.Printf("创建目标文件失败: %v\n", err)
|
||||
return
|
||||
}
|
||||
defer dstFile.Close()
|
||||
|
||||
// 初始化缓冲读写器(默认4096字节缓冲区)
|
||||
reader := bufio.NewReader(srcFile)
|
||||
writer := bufio.NewWriter(dstFile)
|
||||
// 函数退出前刷新缓冲区,确保数据落盘
|
||||
defer func() {
|
||||
if err := writer.Flush(); err != nil {
|
||||
fmt.Printf("缓冲区刷新失败: %v\n", err)
|
||||
}
|
||||
}()
|
||||
|
||||
// 流式拷贝:io.Copy底层自动适配缓冲
|
||||
written, err := io.Copy(writer, reader)
|
||||
if err != nil {
|
||||
fmt.Printf("文件拷贝失败: %v\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Printf("缓冲拷贝完成,总数据量: %d 字节\n", written)
|
||||
}
|
||||
Reference in New Issue
Block a user