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

【背景】

折腾:

【记录】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)
    }

 

总的来说:

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



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量