[golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)
[golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)
读写文件要用到的OS包
func OpenFile(name string, flag int, perm FileMode) (*File, error)
该方法第一个参数为文件路径,第二个参数控制文件的打开方式,第三个参数控制文件模式
可用的打开方式有
// Flags to OpenFile wrapping those of the underlying system. Not all // flags may be implemented on a given system. const (// Exactly one of O_RDONLY, O_WRONLY, or O_RDWR must be specified.// 只读模式O_RDONLY int = syscall.O_RDONLY // open the file read-only.// 只写模式O_WRONLY int = syscall.O_WRONLY // open the file write-only.// 可读可写O_RDWR int = syscall.O_RDWR // open the file read-write.// The remaining values may be or'ed in to control behavior.// 追加内容O_APPEND int = syscall.O_APPEND // append data to the file when writing.// 创建文件,如果文件不存在O_CREATE int = syscall.O_CREAT // create a new file if none exists.// 与创建文件一同使用,文件必须存在O_EXCL int = syscall.O_EXCL // used with O_CREATE, file must not exist.// 打开一个同步的文件流O_SYNC int = syscall.O_SYNC // open for synchronous I/O.// 如果可能,打开时缩短文件O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened. )
打开模式
// The defined file mode bits are the most significant bits of the FileMode. // The nine least-significant bits are the standard Unix rwxrwxrwx permissions. // The values of these bits should be considered part of the public API and // may be used in wire protocols or disk representations: they must not be // changed, although new bits might be added. const (// The single letters are the abbreviations// used by the String method's formatting.// 文件夹模式ModeDir FileMode = 1 << (32 - 1 - iota) // d: is a directory// 追加模式ModeAppend // a: append-only// 单独使用ModeExclusive // l: exclusive use// 临时文件ModeTemporary // T: temporary file; Plan 9 only// 象征性的关联ModeSymlink // L: symbolic link// 设备文件ModeDevice // D: device file// 命名管道ModeNamedPipe // p: named pipe (FIFO)// Unix 主机 socketModeSocket // S: Unix domain socket// 设置uidModeSetuid // u: setuid// 设置gidModeSetgid // g: setgid// UNIX 字符串设备,当设备模式是设置unixModeCharDevice // c: Unix character device, when ModeDevice is set// 粘性的ModeSticky // t: sticky// 非常规文件;对该文件一无所知ModeIrregular // ?: non-regular file; nothing else is known about this file// bit位遮盖,不变的文件设置为none// Mask for the type bits. For regular files, none will be set.ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice | ModeCharDevice | ModeIrregular// 权限位ModePerm FileMode = 0777 // Unix permission bits )
创建一个文件并追加内容
package mainimport ("os" ) func main() {fname := "/tmp/t.txt"f, err := os.OpenFile(fname, os.O_CREATE|os.O_RDWR|os.O_APPEND, os.ModeAppend|os.ModePerm)if err != nil {fmt.Println(err)}f.WriteString("test")f.Close() }
删除文件
os.Remove(fname)
创建目录
dname :="/tmp/d"
os.Mkdir(dname,os.ModeDir|os.ModePerm)
创建完整目录路径,即中间目录不存在的话也一起创建
os.MkdirAll(dname,os.ModeDir|os.ModePerm)
golang os.OpenFile几种常用模式
os.O_WRONLY | os.O_CREATE | O_EXCL 【如果已经存在,则失败】
os.O_WRONLY | os.O_CREATE 【如果已经存在,会覆盖写,不会清空原来的文件,而是从头直接覆盖写】
os.O_WRONLY | os.O_CREATE | os.O_APPEND 【如果已经存在,则在尾部添加写】
[golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)相关推荐
- golang之文件读写/复制/断点续传
目录 一.常用读取文件的三种方式 (1)利用os和file原生操作读文件 (2)使用bufio读取文件 (3)使用ioutil读取文件 二.常用写文件的三种方式 (1)利用os和file原生操作写文件 ...
- Golang的文件处理方式-常见的读写
在 Golang 语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄.注意,标准输入 os.Stdin 和标准输出 os.Stdout ,他们的类型都是 *os.File 哟.在 ...
- golang gob文件存储内容重新加载的续写问题
背景 近日在学习github<the way to go>教程时最后一个短链接项目案例时遇到一个gob文件的续写问题,原链接:19.5 持久化存储:gob 环境:go1.12.7 darw ...
- golang 基于文件的消息队列 ---> diskqueue
前言: 提到消息队列,首先想到:rabbit.kafka.redis/cordis.zeromq这种分布式的消息队列,基于内存缓存和服务发现算法,跨节点的这种消息发布订阅机制. 有时候的需求可能比较简 ...
- go语言基础-文件读写操作
文章目录 一. 前言 二. 文件操作 1. 创建文件 2. 文件 打开文件 2. 打开文件 2.1 语法: 2.2 文件选项 2.2.1 文件模式 2.2.2 案例 创建一个不存在的文件 创建目录 创 ...
- python文件内容写入的方法有哪些、对应的方法和含义_Python的文件读写及目录操作...
文件操作 一.Open创建文件读写 file = open(filename[,mode,encoding]) mode: "r" |"w" "a&q ...
- TCL脚本学习(过程与文件读写)
文章目录 过程 全局变量和局部变量 可变参数 递归调用 文件读写操作 文件写举例 文件读举例 过程 在TCL脚本中,过程相当于C语言中的函数,将一系列命令进行重复使用的接口.其语法格式如下: proc ...
- golang文件读写os.OpenFile(“E:\\“, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)释义
在自学golang时遇到OpenFile中这些参数不知为什么要这样去写,记录一下 os.O_WRONLY | os.O_CREATE | O_EXCL [如果已经存在,则失败]os.O_WRONLY ...
- Golang——文件创建和写入、OpenFile追加写入、Open读取文件、ReadBytes缓冲区读取、os.Args、flag
Create创建文件: os.Create:文件不存在则创建,文件存在则删除文件中的内容 语法: file:创建文件的指针 err:创建文件出现异常后的信息file, err := os.Create ...
最新文章
- Reverse Integer
- 金蝶记账王无法打开智能卡注册页面怎么办
- CentOS 6.5安装VNC server
- 计算机英语课程背景,专家讲座第十五讲:信息化背景下高质量大学英语课程建设与教学设计...
- ie7浏览器传输中文的问题
- GOF设计模式之桥接模式
- PyTorch 1.0 中文官方教程:混合前端的 seq2seq 模型部署
- 基于SSLStrip的HTTPS会话劫持
- Python3 练习笔记一
- python数字时钟日期_Python数值日期时间笔记
- FireFox的插件范例,竟然有问题
- 【网络知识】Wireshark抓不到vlan tag问题解决
- linux下打包C++ Qt可执行程序出现的问题总结
- 谈谈B端、C端、G端的产品区别
- 全面公测|Grafana服务:一张图表胜过千行指标日志
- chrome mobile emulation 及周边漫谈和相关应用+想法
- SharePoint 2013的限制(三)非法字符
- 步步高i508玩JAVA游戏_步步高i508的功能怎么样 步步高i508的优缺点总结
- IOS发布报错 Invalid App Store Icon. The App Store Icon in the asset catalog in HBuild
- 需求分析报告应该包含哪些部分_如何写一篇惊艳的财务分析报告,果断收藏!...
热门文章
- python in range函数 (1、10、-1)_python range函数语法以及一些讨论
- python pip与pip3安装、更新、卸载、查看等常用命令汇总
- 基于JavaEE的汽车配件管理系统_JSP网站设计_SqlServer数据库设计
- #Windows server 2019搭建域控服务器
- 小程序如何使用阿里 iconfont
- 阿里iconfont需要用fill填充颜色
- 5分钟商学院-个人篇-高效能人士的素养
- springer science latex模板识别不到算法的\KwIn
- 上海市计算机等级考试一级试题,上海计算机一级考试试题及答案
- 人工智能 Python