ファイルが存在するかどうかをチェックする

Jay Singh 2022年8月23日
ファイルが存在するかどうかをチェックする

この記事では、ファイルが Go に存在するかどうかの確認について説明します。

IsNotExist() および Stat() を使用して、ファイルが存在するかどうかを確認する

Go プログラミング言語の os パッケージの IsNotExist() メソッドと Stat() メソッドを使用して、ファイルが存在するかどうかを判断します。

Stat() 関数は、ファイルに関する情報を含むオブジェクトを返します。ファイルが存在しない場合は、エラーオブジェクトが生成されます。

以下は、IsNotExist()Stat() を使用したコードの例です。

例 1:

package main

import (
    "fmt"
    "os"
)

// function to check if file exists
func doesFileExist(fileName string) {
    _, error := os.Stat(fileName)

    // check if error is "file not exists"
    if os.IsNotExist(error) {
        fmt.Printf("%v file does not exist\n", fileName)
    } else {
        fmt.Printf("%v file exist\n", fileName)
    }
}

func main() {
    // check if demo.txt exists
    doesFileExist("demo.txt")

    // check if demo.csv exists
    doesFileExist("demo.csv")
}

出力:

demo.txt file exist
demo.csv file does not exist

例 2:

package main
import (
    "fmt"
    "os"
)

func main() {
    file_name := "/Usr/sample.go"
    if _, err := os.Stat(file_name); err == nil {
        fmt.Println("File exists")
    } else if os.IsNotExist(err) {
        fmt.Println("File or path doesn't exist")
    } else {
	    fmt.Println(err)
    }
}

出力:

File or path doesn't exist

関連記事 - Go File