小编典典

创建一个空的文本文件

go

我一直在阅读和谷歌搜索,但似乎找不到这个简单的答案。

我有一个读取文件的功能,但是如果文件不存在,则会出现混乱。我想做的是一个函数,该函数在读取之前会检查文件是否存在,如果不存在,则会创建一个空文件。这就是我所拥有的。

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
}

阅读 449

收藏
2020-07-02

共1个答案

小编典典

不要尝试先检查是否存在,因为如果同时创建了文件,那么您将面临一场竞赛。您可以打开带有O_CREATE标志的文件以创建该文件(如果不存在):

os.OpenFile(name, os.O_RDONLY|os.O_CREATE, 0666)
2020-07-02