Go语言:如何实现每次读取文件都覆盖内容

在 Go 语言中,使用 os.OpenFile 函数打开文件时,可以通过添加不同的标志来控制文件操作的行为。如果想要每次读取文件都覆盖文件内容,可以使用 os.O_TRUNC 标志来打开文件。

原始代码:

open, err := os.OpenFile(srv.nfsExportsFile, os.O_RDWR|os.O_APPEND, 0644)
if err != nil {
	logger.Errorf('open nfs export config file failed,the error is %s', err.Error())
	return err
}

修改后的代码:

open, err := os.OpenFile(srv.nfsExportsFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil {
	logger.Errorf('open nfs export config file failed, the error is %s', err.Error())
	return err
}

解释:

在打开文件的标志中加入了 os.O_TRUNC,它会将文件截断为零长度,然后再写入内容,实现每次读取都覆盖的效果。

注意:

使用 os.O_TRUNC 标志会清空文件内容,请谨慎使用。

希望本文对您有所帮助。

Go语言:如何实现每次读取文件都覆盖内容

原文地址: https://www.cveoy.top/t/topic/fzXw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录