最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】go语言中判断文件是否存在如果有已存在则删除

GO crifan 5391浏览 0评论

【背景】

折腾:

【记录】go语言中通过log4go实现同时输出log信息到log文件和console

期间,需要去实现:

判断一个log文件,是否已经存在

如果存在则删除掉该(旧的log)文件

【折腾过程】

1.去os模块看了看,好像是有判断是否存在的函数:

http://golang.org/pkg/os/#IsExist

但是,其输入参数却是error,是去判断error是否是文件出错的。

2.另外对于

http://golang.org/pkg/path/

和:

http://golang.org/pkg/path/filepath/

中,好像也都没看到有效的函数。

3.参考:

How to check if a file exists in Go?

可以去用os.Stat和判断err的组合实现此效果:

    if _, err := os.Stat(logFilename); err == nil {
        fmt.Printf("found old log file %s, now remove it\n", logFilename)
        os.Remove(logFilename)
    }

 

【总结】

此处,判断文件是否存在,如果存在,则删除的代码是:

    if _, err := os.Stat(logFilename); err == nil {
        fmt.Printf("found old log file %s, now remove it\n", logFilename)
        os.Remove(logFilename)
    }

 

总的来说:

虽然也能实现类似效果,但是还是很不方便的说。

转载请注明:在路上 » 【已解决】go语言中判断文件是否存在如果有已存在则删除

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
84 queries in 0.166 seconds, using 22.14MB memory