go 创建文件,还有读取字节的内容
package main import ( "bytes" "fmt" "os" "path" ) func main(){ //读取byte字节文字 buf1 :=bytes.NewBufferString("hello") fmt.Println(buf1) buf2 :=bytes.NewBuffer([]byte("hello world")) fmt.Println(buf2) buf3 :=bytes.NewBuffer([]byte{byte('h'),byte('e'),byte('l'),byte('l'),byte('o')}) fmt.Println(buf3) //写入 string btf :=bytes.NewBuffer([]byte{}) btf.WriteString("写入大花猫") fmt.Println(btf.String()) //写入 []byte btf4 :=bytes.NewBuffer([]byte{}) s :=[]byte("英雄无敌") btf4.Write(s) fmt.Println(btf4) //写入byte btf5 :=bytes.NewBuffer([]byte{}) var b byte='?' btf5.WriteByte(b) //写入 rune var r rune ='小' btf5.WriteRune(r) mainDirectory, _ := os.Getwd() logFilePath := mainDirectory logFileName := "1.txt" //日志文件 fileName := path.Join(logFilePath, logFileName) //写入文件 _, err := os.Stat(fileName) if !(err==nil || os.IsExist(err)){ var err error //目录不存在则创建 创建路径分配权限 if _, err = os.Stat(logFilePath); err != nil { if err = os.MkdirAll(logFilePath, 0777); err != nil { //这里如果是0711权限 可能会导致其它线程,读取文件夹内内容出错 fmt.Println("Create log dir err :", err) } } //创建文件 if _, err = os.Create(fileName); err != nil { fmt.Println("Create log file err :", err) } } //从文件中写入
file,err :=os.OpenFile(fileName,os.O_RDWR,0777)
if err !=nil { fmt.Println(err) }
//写入文件
w :=[]byte("hello go language" + time.Now().String())
n,err :=file.Write(w)
fmt.Println(n,err,string(n))
fmt.Println(file.Sync()) }