Golang 读写文件
读文件
func ReadFile_v1(filename string) {
var (
err error
content []byte
)
fileObj,err := os.Open(filename)
if err != nil {
fmt.Println("os open error:",err)
return
}
defer fileObj.Close()
content,err = ioutil.ReadAll(fileObj)
if err != nil {
fmt.Println("ioutil.ReadAll error:",err)
return
}
fmt.Println(string(content))
}
// 还有种方法
func Readfile_v2(filename string) {
var (
err error
content []byte
)
content,err = ioutil.ReadFile(filename)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(content))
}
写入文件
func WriteFile(filename , data string) {
var (
err error
)
// 拿到一个文件对象
// file对象肯定是实现了io.Reader,is.Writer
fileObj,err := os.Create(filename)
if err != nil {
fmt.Println(err)
return
}
// 方式一
_,_ = fmt.Fprintf(fileObj,data)
// 方式二
writer := bufio.NewWriter(fileObj)
defer writer.Flush()
writer.WriteString(data)
}