golang 创建,读取,写入文件

栏目: 服务器 · 发布时间: 7年前

golang创建文本文件

f , err := os. Create ( fileName )

defer f. Close ()

if err != nil {

fmt. Println (err. Error ())

} else {

_ , err =f. Write ([] byte ("要写入的文本内容"))

checkErr (err)

}

golang读取文本文件

f , err := os. OpenFile ( fileName , os.O_RDONLY, 0600 )

defer f. Close ()

if err != nil {

fmt. Println (err. Error ())

} else {

contentByte , err =ioutil. ReadAll (f)

checkErr (err)

fmt. Println (string(contentByte) )

}

OpenFile用法:os.OpenFile(文件名,打开方式,打开模式)

//打开方式

const (

//只读模式

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.

//追加内容

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 // if possible, truncate file when opened.

)

//打开模式

const (

ModeDir FileMode = 1 << ( 32 - 1 - iota ) // d: is a directory 文件夹模式

ModeAppend // a: append-only 追加模式

ModeExclusive // l: exclusive use 单独使用

ModeTemporary // T: temporary file (not backed up) 临时文件

ModeSymlink // L: symbolic link 象征性的关联

ModeDevice // D: device file 设备文件

ModeNamedPipe // p: named pipe (FIFO) 命名管道

ModeSocket // S: Unix domain socket Unix 主机 socket

ModeSetuid // u: setuid 设置uid

ModeSetgid // g: setgid 设置gid

ModeCharDevice // c: Unix character device, when ModeDevice is set Unix 字符设备,当设备模式是设置Unix

ModeSticky // t: sticky 粘性的

// Mask for the type bits. For regular files, none will be set. bit位遮盖.不变的文件设置为none

ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice

ModePerm FileMode = 0777 // Unix permission bits 权限位.

)

golang写入文本文件

f , err := os. OpenFile ( fileName , os.O_WRONLY|os.O_TRUNC, 0600 )

defer f. Close ()

if err != nil {

fmt. Println (err. Error ())

} else {

_ , err =f. Write ([] byte ("要写入的文本内容"))

checkErr (err)

}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微积分的历程

微积分的历程

William Dunham / 李伯民、汪军、张怀勇 / 人民邮电出版社 / 2010-8 / 29.00元

“微积分”这一名称最早出现在哪本书中?第一本微积分教科书又是谁人所写?微积分究竟是谁人发明的?著名的洛必达法则居然是伯努利的研究成果?谁被誉为“分析学的化身”?谁又被誉为“现代分析学之父”?哪些数学天才使微积分的创建过程终于画上完美的句号?……本书将带你一一探究上述问题。 本书宛如一座陈列室,汇聚了十多位数学大师的杰作,当你徜徉其中时会对人类的想象力惊叹不已,当你离去时必然满怀对天才们的钦佩......一起来看看 《微积分的历程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换