当前位置:网站首页>文件读取写入
文件读取写入
2022-07-04 20:59:00 【Jimmy_jimi】
Go语言的 os 包下有一个 OpenFile 函数,其原型如下所示:
func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
O_RDONLY:只读模式打开文件;
O_WRONLY:只写模式打开文件;
O_RDWR:读写模式打开文件;
O_APPEND:写操作时将数据附加到文件尾部(追加);
O_CREATE:如果不存在将创建一个新文件;
O_EXCL:和 O_CREATE 配合使用,文件必须不存在,否则返回一个错误;
O_SYNC:当进行一系列写操作时,每次都要等待上次的 I/O 操作完成再进行;
O_TRUNC:如果可能,在打开时清空文件。
实例
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
//创建一个新文件,写入内容 5 句 “http://c.biancheng.net/golang/”
filePath := "e:/code/golang.txt"
file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0666)
//打开一个存在的文件,在原来的内容追加内容
file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
fmt.Println("文件打开失败", err)
}
//读原来文件的内容,并且显示在终端
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if err == io.EOF {
break
}
fmt.Print(str)
}
//及时关闭file句柄
defer file.Close()
//写入文件时,使用带缓存的 *Writer
write := bufio.NewWriter(file)
for i := 0; i < 5; i++ {
write.WriteString("http://c.biancheng.net/golang/ \n")
}
//Flush将缓存的文件真正写入到文件中
write.Flush()
}
边栏推荐
- How is the entered query SQL statement executed?
- Why does invariant mode improve performance
- Daily question-leetcode556-next larger element iii-string-double pointer-next_ permutation
- Routing configuration and connectivity test of Huawei simulator ENSP
- [weekly translation go] how to code in go series articles are online!!
- redis RDB AOF
- Huawei ENSP simulator layer 3 switch
- 2022 version of stronger jsonpath compatibility and performance test (snack3, fastjson2, jayway.jsonpath)
- [optimtool.unconstrained] unconstrained optimization toolbox
- 每日一题-LeetCode1200-最小绝对差-数组-排序
猜你喜欢
Flutter TextField示例
MP3是如何诞生的?
Cloudcompare & open3d DBSCAN clustering (non plug-in)
Maya lamp modeling
maya灯建模
OMS系统实战的三两事
How to implement Devops with automatic tools
Difference between ApplicationContext and beanfactory (MS)
Exclusive interview of open source summer | new committer Xie Qijun of Apache iotdb community
Word文档中标题前面的黑点如何去掉
随机推荐
学习突围3 - 关于精力
Jerry's ad series MIDI function description [chapter]
Go language loop statement (3 in Lesson 10)
Word文档中标题前面的黑点如何去掉
maya灯建模
超详细教程,一文入门Istio架构原理及实战应用
Redis cache
MP3是如何诞生的?
Configuration of DNS server of Huawei ENSP simulator
__ init__ () missing 2 required positive arguments
Methods of improving machine vision system
Operation of adding material schedule in SolidWorks drawing
redis RDB AOF
How to remove the black dot in front of the title in word document
Lambdaquerywrapper usage
Interpreting the development of various intelligent organizations in maker Education
QT—绘制其他问题
redis管道
[C language] deep understanding of symbols
应用实践 | 蜀海供应链基于 Apache Doris 的数据中台建设