golang写文件的几种方式

351 阅读1分钟
package main

import(
	"os"
	"io"
	"io/ioutil"
	"bufio"
)

func writeWithFile(){
	f, err := os.Create("./temp")
	if err != nil{
		return
	}
	defer f.Close()

	f.WriteString("woshiyigemaolu")
}

func writeWithFile1(){
	f, err := os.OpenFile("./temp", os.O_CREATE|os.O_APPEND|os.O_WRONLY,0666)
	if err != nil {
		return
	}
	defer f.Close()

	io.WriteString(f,"hhhhh")
}

func writeWithFile2(){

	strB := []byte{'1','2','3','4'}
	ioutil.WriteFile("./temp", strB, 0666)
}

//第4种,带缓冲的io

func writeWithFile3(){
	f, err := os.OpenFile("./temp", os.O_CREATE|os.O_APPEND|os.O_WRONLY,0666)
	if err != nil{
		return
	}
	defer f.Close()

	w := bufio.NewWriter(f)
	_, err3 := w.WriteString("bufwrite")
	if err3 != nil{
		return
	}
	w.Flush()
}

func main(){
	writeWithFile()
	writeWithFile1()
	writeWithFile2()
	writeWithFile3()
}