【背景】
折腾:
【记录】go语言中通过log4go实现同时输出log信息到log文件和console
期间,需要去实现:
判断一个log文件,是否已经存在
如果存在则删除掉该(旧的log)文件
【折腾过程】
1.去os模块看了看,好像是有判断是否存在的函数:
http://golang.org/pkg/os/#IsExist
但是,其输入参数却是error,是去判断error是否是文件出错的。
2.另外对于
和:
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语言中判断文件是否存在如果有已存在则删除