io.Copy方法拷贝文件时为什么会少3K左右的字节?

ysunicom · · 1147 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

```go package main import ( "bufio" "fmt" "io" "os" ) func main() { srcFileName := "d:/abc.txt" dstFileName := "d:/abcd.txt" srcFile, err := os.Open(srcFileName) if err != nil { fmt.Println("open file err:", err) return } reader := bufio.NewReader(srcFile) dstFile, err := os.OpenFile(dstFileName, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { fmt.Println("write or create file err:", err) return } writer := bufio.NewWriter(dstFile) num, err := io.Copy(writer, reader) if err == nil { fmt.Println("完成拷贝字节数:", num) } else { fmt.Println("copy file err:", err) return } defer srcFile.Close() defer dstFile.Close() } ``` 执行后:显示操作的字节数是正确的,但目标文件内容和大小不正确,少了3K左右的字节,这是为什么?![问题.jpg](https://static.studygolang.com/191007/7ab5b992faf5ad6de4c133d84c994e2b.jpg)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1147 次点击  
加入收藏 微博
3 回复  |  直到 2019-10-08 14:24:36
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传