golang 读取文件的几种方式

// ReadOne  读取到file中,再利用ioutil将file直接读取到[]byte中
func ReadOne() string {
    f, err := os.Open("file/test")
    if err != nil {
        fmt.Println("read file fail", err)
        return ""
    }
    defer f.Close()

    fd, err := ioutil.ReadAll(f)
    if err != nil {
        fmt.Println("read to fd fail", err)
        return ""
    }

    return string(fd)
}

// ReadTwo 利用ioutil.ReadFile直接从文件读取到[]byte中
func ReadTwo() string {
    f, err := ioutil.ReadFile("file/test")
    if err != nil {
        fmt.Println("read fail", err)
    }
    return string(f)
}

// WriteOne 使用 bufio.NewWriter 写文件
func WriteOne() {
    fileName := "file/test3"
    f, err3 := os.Create(fileName) //创建文件
    if err3 != nil {
        fmt.Println("create file fail")
    }
    w := bufio.NewWriter(f) //创建新的 Writer 对象
    n4, err3 := w.WriteString("bufferedn")
    fmt.Printf("写入 %d 个字节n", n4)
    w.Flush()
    f.Close()
}

// WriteTwo 使用 ioutil.WriteFile 写文件
func WriteTwo() {
    fileName := "file/test2"
    strTest := "测试测试"
    var d = []byte(strTest)
    err := ioutil.WriteFile(fileName, d, 0666)
    if err != nil {
        fmt.Println("write fail")
    }
    fmt.Println("write success")
}

参考:https://www.cnblogs.com/wangq...

你可能感兴趣的:(golang)