Go语言 之文件操作案例
(1) 让用户输入要拷贝的文件的名称(源文件)以及目的文件的名称
(2) 创建目的文件
(3) 打开源文件,并且读取该文件中的内容
(4) 将从源文件中读取的内容写到目的文件中。
package main import ( "bufio" "fmt" "io" "os" ) func main() { //源文件 var srcFile string //目的文件 var dstFile string fmt.Print("请输入要拷贝的文件名:") fmt.Scan(&srcFile) fmt.Print("请输入目的文件名称:") fmt.Scan(&dstFile) if srcFile == dstFile { fmt.Println("源文件与目的文件名称一致") return } //打开源文件 srcF, errS := os.Open(srcFile) if errS != nil { fmt.Println(errS.Error()) return } defer srcF.Close() //创建目的文件 dstF, errF := os.Create(dstFile) if errF != nil { fmt.Println(errF.Error()) return } defer dstF.Close() //将源文件的内容读到内存中 b := bufio.NewReader(srcF) for { bs, err := b.ReadByte() if err != nil { if err == io.EOF { break } fmt.Println(err.Error()) os.Exit(-1) } dstF.WriteString(string(bs)) } fmt.Println("拷贝成功") }