Go 两种读写文件的方式
Admin
2019-08-23 11:03:12
GoLang
1、使用 io/ioutil 库
package main import ( "fmt" "io/ioutil" ) var ( filename = "/tmp/tt.txt" ) func main() { // 读取文件 返回[]byte 类型 body, err := ioutil.ReadFile(filename) if err != nil { panic(err) } fmt.Println(string(body)) // 写文件 bodys := []byte("YwFuns oK!\n") err := ioutil.WriteFile(filename, bodys, 0644) if err != nil { panic(err) } }
2、使用 os 库
package main import ( "fmt" "os" ) var ( filename = "/tmp/tt.txt" ) func main() { // 读取文件, body1, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE, 0755) if err != nil { panic(err) } defer body.Close() body2, err := os.Open(filename) if err != nil { panic(err) } defer body2.Close() content := make([]byte, 1024) r, err := body2.Read(content) if err != nil { panic(err) } // 写文件 file, err := os.Create(filename) if err != nil { panic(err) } defer file.Close() w, err := file.Write([]byte("YwFuns\n")) if err != nil { panic(err) } fmt.Println(w) w2,err := file.WriteString("YwFuns") if err != nil { panic(err) } // file.Sync() fmt.Println(w2) w3 := bufio.NewWriter(file) w4, err := w3.WriteString("YwFuns") if err != nil { panic(err) } //w3.Flush() fmt.Println(w4) }