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("拷贝成功")
}

 

posted @ 2019-07-01 10:53  样子2018  阅读(190)  评论(0编辑  收藏  举报