- ioutil
- os.OpenFile 记得写完内容后 file.Sync()
- bufio.NewWriter 写完内容后 writer.Flush()
const (
O_RDONLY int = syscall.O_RDONLY
O_WRONLY int = syscall.O_WRONLY
O_RDWR int = syscall.O_RDWR
O_APPEND int = syscall.O_APPEND
O_CREATE int = syscall.O_CREAT
O_EXCL int = syscall.O_EXCL
O_SYNC int = syscall.O_SYNC
O_TRUNC int = syscall.O_TRUNC
)
package main
import (
"bufio"
"fmt"
"io/ioutil"
"os"
)
func main() {
writeFileBufio()
}
func writeFileIoUtil() {
c := "content"
c1 := "content1"
data := []byte(c)
data1 := []byte(c1)
ioutil.WriteFile("./1.txt", data, 0644)
ioutil.WriteFile("./1.txt", data1, 0644)
}
func wirteFileOsOpenFile() {
file, err := os.OpenFile("./1.txt", os.O_CREATE | os.O_RDWR | os.O_APPEND, 0644)
if err != nil {
fmt.Printf("file open err %v", err)
}
defer file.Close()
c := []byte("hello world\n")
if n, err := file.Write(c); err != nil {
fmt.Printf("file write err %v", err)
} else {
fmt.Println(n)
}
c1 := "wakakawakaka\n"
if n, err := file.WriteString(c1); err != nil {
fmt.Printf("file write err %v", err)
} else {
fmt.Println(n)
}
file.Sync()
}
func writeFileBufio() {
file, err := os.OpenFile("./1.txt", os.O_CREATE | os.O_RDWR | os.O_APPEND, 0644)
if err != nil {
fmt.Printf("file open err %v", err)
}
defer file.Close()
writer := bufio.NewWriter(file)
c := []byte("hello world\n")
n, err := writer.Write(c)
if err != nil {
fmt.Printf("file write err %v", err)
}
fmt.Println(n)
s := "wakakawakaka\n"
n, err = writer.WriteString(s)
if err != nil {
fmt.Printf("file write err %v", err)
}
fmt.Println(n)
writer.Flush()
}