[英]Golang “Access is denied” error on trying to write to file with io.WriteString
我當前正在運行Windows 8 64位,並且正在嘗試創建用於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源代碼。
我相信您是以只讀模式打開文件的。 您可以嘗試使用帶有適當標志的os.OpenFile代替os.Open,如如何在golang中將文本追加到文件中所示? 並附加到Go中的文件
在文檔中,您有一個只讀文件:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.