1 Star 0 Fork 3

源码大数据(codebigdata)/goWebActualCombat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
os_copy_file.go 1.34 KB
一键复制 编辑 原始数据 按行查看 历史
ShirDon-廖显东 提交于 5年前 . commit
//++++++++++++++++++++++++++++++++++++++++
// 《Go Web编程实战派从入门到精通》源码
//++++++++++++++++++++++++++++++++++++++++
// Author:廖显东(ShirDon)
// Blog:https://www.shirdon.com/
// 仓库地址:https://gitee.com/shirdonl/goWebActualCombat
// 仓库地址:https://github.com/shirdonl/goWebActualCombat
//++++++++++++++++++++++++++++++++++++++++
package main
import (
"fmt"
"io"
"os"
)
func main() {
// 使用命令行提高拷贝的复用性
args := os.Args
if args == nil || len(args) != 3 {
fmt.Println("useage : go filename.go src File dstFile")
return
}
srcPath := args[1]
dstPath := args[2]
fmt.Printf("srcPath = %s, dstPath = %s\r\n", srcPath, dstPath)
if srcPath == dstPath {
fmt.Println("源文件和目标文件不能重名")
}
//执行复制
srcFile, err1 := os.Open(srcPath)
// 关闭文件
defer srcFile.Close()
if err1 != nil {
fmt.Println(err1)
return
}
dstFile, err2 := os.Create(dstPath)
defer dstFile.Close()
if err2 != nil {
fmt.Println(err2)
return
}
readBuf := make([]byte, 1024)
for {
//读取文件
n, err := srcFile.Read(readBuf) //每次文件读取字节的长度
if err != nil && err != io.EOF {
fmt.Println(err)
break
}
if n == 0 {
fmt.Println("文件处理完毕")
}
//写入目的文件
writeBuf := readBuf[:n]
dstFile.Write(writeBuf)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/codebigdata/goWebActualCombat.git
git@gitee.com:codebigdata/goWebActualCombat.git
codebigdata
goWebActualCombat
goWebActualCombat
b84124f40e18

搜索帮助