开发日记之go的文件读写被坑记

https://studygolang.com/articles/29182?fr=sidebar
先引用一下这篇文章,结合实际工作经验,我发现:

文件读写尽量别用buffer缓冲区来搞,被坑惨了,因为他是要设置size的,不然读写的文件会奇奇怪怪

比如图片底部给你缺一点之类的😱
最好就是用golang的io/ioutil包来搞,避开bufio这个坑b玩意,如下:
简单覆盖式文件写入:
特点 :1.操作简单一个函数完成数据写入2.新内容覆盖旧的内容3.操作的文件不存在的时候会自动创建

filename 操作的文件名;data 写入的内容;perm 文件不存在时创建文件并赋予的权限,例如 : 0666
package ioutil
func WriteFile(filename string, data []byte, perm os.FileMode) error{}

这里的perm具体详解:

一般都文件属性标识如下:
-rwxrwxrwx

第1位:文件属性,一般常用的是"-",表示是普通文件;"d"表示是一个目录。
第2~4位:文件所有者的权限rwx (可读/可写/可执行)。
第5~7位:文件所属用户组的权限rwx (可读/可写/可执行)。
第8~10位:其他人的权限rwx (可读/可写/可执行)。

在golang中,可以使用os.FileMode(perm).String()来查看权限标识:
os.FileMode(0777).String() //返回 -rwxrwxrwx
0777表示:创建了一个普通文件,所有人拥有所有的读、写、执行权限 os.FileMode(0666).String() //返回
-rw-rw-rw- 0666表示:创建了一个普通文件,所有人拥有对该文件的读、写权限,但是都不可执行 os.FileMode(0644).String() //返回 -rw-r–r--
0644表示:创建了一个普通文件,文件所有者对该文件有读写权限,用户组和其他人只有读权限,都没有执行权限

注意,golang中创建文件指定权限时,只能以"0XXX"的形式,不能省掉前面的"0",否则指定的权限不是预期的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值