- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
Go语言中常见的文件操作分享
目录常用包os与I/O操作相关包常用文件/目录操作路径拼接创建文件(touch)获取文件信息读取文件内容写入文件内容
常用包
文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用场景,几乎都离不开文件的基本操作。Go语言中提供了三个不同的包去处理文件
os
os包提供了处理文件的API接口,遵循Unix标准,平台无关,所有操作系统都可以使用。错误处理上是Go语言独有的,失败时,返回的是错误类型而非系统错误编号,对于调试很有帮助。os包中提供了创建、删除、打开、修改权限等功能。
与I/O操作相关包
io
I/O原语接口包装到了公共接口中,该接口抽象了功能
ioutil
I/O实用功能,从Go1.6开始,可以直接通过io后os包访问相同的功能
bufio
文件的缓冲I/O提供接口缓冲区实际是内存中的临时空间,用于存储数据并在该空间执行临时I/O操作,减少系统调用及磁盘I/O,适用于数据块传输场景,不适用于单个字符的I/O操作默认的操作都是无缓冲的
常用文件/目录操作
路径拼接
packagemain
import(
fmt
path
funcJoinPath(){
dirs:=[]string{/,home,ray,workspace}
path:=path.Join(dirs...)
fmt.Printf(Pathafterjoin:%v\n,path)
funcmain(){
JoinPath()
输出信息为
Pathafterjoin:/home/ray/workspace
更多功能请参考:https://pkg.go.dev/path/filepath#pkg-functions
创建文件(touch)
改代码执行后将生成一个为空的sample.txt文件
packagemain
import(
log
os
funcCreateEmptyFile(){
myFile,err:=os.Create(sample.txt)
iferr!=nil{
log.Fatal(ERROR!,err)
log.Println(Emptyfilecreatedsuccessfully.,myFile)
myFile.Close()
funcmain(){
CreateEmptyFile()
获取文件信息
这里主要使用os.Stat函数
packagemain
import(
fmt
log
os
funcFileInfo(){
fileInfo,err:=os.Stat(sample.txt)
iferr!=nil{
log.Fatal(err)
fmt.Println(FileName:,fileInfo.Name())
fmt.Println(Size,fileInfo.Size(),bytes)
fmt.Println(Permissions:,fileInfo.Mode())
fmt.Println(Lastmodified:,fileInfo.ModTime())
fmt.Println(IsDirectory:,fileInfo.IsDir())
funcmain(){
FileInfo()
读取文件内容
和其他语言类似,读取文件主要使用Open,Read等函数,文件处理最底层是基于原始字节的,在这个抽象之上,可以进一步构建更方便的接口。
packagemain
import(
log
os
funcFileRead(filePathstring){
oFile,err:=os.Open(filePath)
iferr!=nil{
log.Fatal(err)
deferoFile.Close()
buff:=make([]byte,100)
forno,err:=oFile.Read(buff);err==nil;no,err=oFile.Read(buff){
ifno0{
os.Stdout.Write(buff[0:no])
funcmain(){
FileRead(sample.txt)
您可能关注的文档
最近下载
- 2023年12月英语六级真题及答案(第3套).pdf VIP
- 课题开题报告:国家智慧教育平台促进中小学教师发展数字化转型的应用模式与推进机制研究.docx VIP
- (区县版)_中小学教辅材料征订专项整治工作方案.docx VIP
- 新人教版(新插图)四年级上册数学 第5单元测试卷.docx
- 2021年全国新高考Ⅱ卷语文试题答案解析.doc VIP
- 肛肠科护士进修学习计划.docx VIP
- 抗心律失常药物临床应用中国专家共识(2023版)解读.pptx
- 2025年1月浙江省普通高校招生选考科目考试地理真题卷(含答案与解析).pdf VIP
- 简支梁桥设计-毕业设计.doc
- 装配式建筑工程消耗量定额及全费用基价表.pdf VIP
文档评论(0)