在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
func OpenFile func OpenFile(name string, flag int, perm FileMode) (file *File, err error) const ( // 只读模式打开文件
// 只写模式打开文件
// 读写模式打开文件
// 写操作时将数据附加到文件尾部
// 如果不存在将创建一个新文件
// 和O_CREATE配合使用,文件必须不存在
// 打开文件用于同步I/O
// 如果可能,打开时清空文件
)
1.//创建一个新文件,写入内容 5句 "你好,Golang!" package main import ( "fmt" "bufio" "os" ) func main() { //创建一个新文件,写入内容 5句 "你好,Golang!" filePath := "d:/abc.txt" file, err := os.OpenFile(filePath, os.O_WRONLY | os.O_CREATE, 0666) if err != nil { fmt.Printf("open file err=%v\n", err) return } //及时关闭file句柄 defer file.Close() str := "你好,Golang!\r\n" // \r\n 表示换行 //写入时,使用带缓存的 *Writer writer := bufio.NewWriter(file) for i := 0; i < 10; i++ { writer.WriteString(str) } //内容是先写入到缓存的,所以需要调用Flush方法,将缓冲的数据写入文件 writer.Flush() } 2.打开一个存在的文件,在原来的内容追加内容 'this is test!' package main import ( "fmt" "bufio" "os" ) func main() { //打开一个存在的文件,在原来的内容追加内容 'this is test!' filePath := "d:/abc.txt" file, err := os.OpenFile(filePath, os.O_WRONLY | os.O_APPEND, 0666) if err != nil { fmt.Printf("open file err=%v\n", err) return } //及时关闭file句柄 defer file.Close() str := "this is test!\r\n" // \r\n 表示换行 //写入时,使用带缓存的 *Writer writer := bufio.NewWriter(file) for i := 0; i < 5; i++ { writer.WriteString(str) } //内容是先写入到缓存的,所以需要调用Flush方法,将缓冲的数据写入文件 writer.Flush() } 3.打开一个存在胡文件,读出原来的内容,再追加5行 hello world! package main
import (
"bufio"
"os"
"fmt"
"io"
)
func main() {
filePath := "d:/abc.txt"
file, err := os.OpenFile(filePath, os.O_RDWR | os.O_APPEND, 066)
if err != nil {
fmt.Printf("open file err=%v\n", err)
return
}
defer file.Close()
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if err == io.EOF {
break
}
fmt.Print(str)
}
str := "hello world!\r\n"
writer := bufio.NewWriter(file)
for i := 0; i < 5; i++ {
writer.WriteString(str)
}
writer.Flush()
}
|
请发表评论