为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 尝试使用 io.WriteString 写入文件时出现“访问被拒绝”错误

Golang 尝试使用 io.WriteString 写入文件时出现“访问被拒绝”错误

Go
幕布斯6054654 2021-11-01 11:03:49
我目前运行的是 64 位 Windows 8,我正在尝试创建一个日志文件以与 Web 服务器一起使用。有问题的代码是:func LogWebPath(requestedURL string, accessedURL string, logFile string) error {file, _ := os.Open(logFile)_, err = io.WriteString(file, requestedURL + ":" + accessedURL)if(err != nil) {  fmt.Println(err)  return err}file.Close()return errors.New("nil")}每当 io.WriteString 被调用时,返回的错误是 write log/visit.log: Access is denied.我的系统上安装了 Go,我正在使用它go run x.go来运行我的 Go 源代码。
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

我相信您正在以只读模式打开文件。您可以尝试使用 os.OpenFile 代替 os.Open,并使用适当的标志,如如何在 golang 中将文本附加到文件中所示?并追加到围棋文件


查看完整回答
反对 回复 2021-11-01
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

从文档中,您有一个只读文件:

Open 打开命名文件以供阅读...

您需要使用os.OpenFile适当的标志

一些例子

写文件的常用方法(由 使用ioutil.WriteFile):

f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, perm)

要创建或附加到文件:

f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_APPEND, perm)

仅附加到现有文件:

f, err := os.OpenFile(filename, os.O_WRONLY|os.O_APPEND, perm)


查看完整回答
反对 回复 2021-11-01
  • 2 回答
  • 0 关注
  • 403 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号