登录
首页 >  Golang >  Go问答

如何在没有前导零的情况下截断并完全重写文件?

来源:Golang技术栈

时间:2023-04-13 17:00:46 459浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《如何在没有前导零的情况下截断并完全重写文件?》就很适合你!本篇内容主要包括如何在没有前导零的情况下截断并完全重写文件?,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

截断文件时,它似乎在开头添加了额外的零字节:

configFile, err := os.OpenFile("./version.json", os.O_RDWR, 0666)
defer configFile.Close()
check(err)
//some actions happen here
configFile.Truncate(0)
configFile.Write(js)
configFile.Sync()

结果,该文件的内容是我0在开头写的一段字节。

如何在没有前导零的情况下截断并完全重写文件?

正确答案

请参阅以下文档Truncate

截断更改文件的大小。 它不会改变 I/O 偏移量 。如果有错误,它将是 *PathError 类型。

所以你还需要在你写之前寻找到文件的开头:

configFile.Truncate(0)
configFile.Seek(0,0)

作为简写,os.O_TRUNC在调用os.OpenFile打开时使用该标志进行截断。

本篇关于《如何在没有前导零的情况下截断并完全重写文件?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>