我想./conf/app.ini在Go代码中检查文件是否存在,但我找不到一个好方法.
我知道在Java中有一个File方法:public boolean exists()如果文件或目录存在,则返回true.
但是怎么能在Go中完成呢?
Mos*_*afa 176
// exists returns whether the given file or directory exists
func exists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil { return true, nil }
if os.IsNotExist(err) { return false, nil }
return true, err
}
Run Code Online (Sandbox Code Playgroud)
编辑添加错误处理.
Den*_*ret 114
你可以用这个:
if _, err := os.Stat("./conf/app.ini"); err != nil {
if os.IsNotExist(err) {
// file does not exist
} else {
// other error
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅:http://golang.org/pkg/os/#IsNotExist
小智 18
更多的一个FYI,因为我环顾了几分钟,认为我的问题是一个快速搜索.
如何检查路径是否代表Go中的现有目录?
这是我搜索结果中最受欢迎的答案,但在此处和其他地方,解决方案仅提供存在检查.要检查是否path代表现有目录,我发现我可以轻松地:
path := GetSomePath();
if stat, err := os.Stat(path); err == nil && stat.IsDir() {
// path is a directory
}
Run Code Online (Sandbox Code Playgroud)
我的部分问题是我希望path/filepathpackage包含isDir()函数.
小智 10
检查文件是否存在的简单方法:
if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) {
// path/to/whatever does not exist
}
if _, err := os.Stat("/path/to/whatever"); err == nil {
// path/to/whatever exists
}
Run Code Online (Sandbox Code Playgroud)
资料来源:
| 归档时间: |
|
| 查看次数: |
77825 次 |
| 最近记录: |