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()) }

浙公网安备 33010602011771号