Je veux vérifier l'existence d'un fichier ./conf/app.ini
dans mon code Go, mais je ne trouve pas de bon moyen de le faire.
Je sais qu'il existe une méthode de File en Java:, public boolean exists()
qui renvoie true si le fichier ou le répertoire existe.
Mais comment cela peut-il être fait dans Go?
f, err := os.Open(name)
ouf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
puis vérifiezos.IsNotExist(err)
).Réponses:
Modifié pour ajouter la gestion des erreurs.
la source
panic
pour un objet comme "exception" réel. Vous pouvez «attraper» avec un appel àrecover
. Le renvoi explicite d'unerr
comme deuxième valeur de retour est une technique de Go idiomatique extrêmement courante. Voir: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Vous pouvez utiliser ceci:
Voir: http://golang.org/pkg/os/#IsNotExist
la source
Plus d'un FYI, puisque j'ai regardé autour de moi pendant quelques minutes en pensant que ma question était une recherche rapide.
C'était la réponse la plus populaire dans mes résultats de recherche, mais ici et ailleurs, les solutions ne fournissent qu'un contrôle d'existence. Pour vérifier si
path
représente un répertoire existant, j'ai trouvé que je pouvais facilement:Une partie de mon problème était que je m'attendais
path/filepath
à ce que le package contienne la fonction isDir ().la source
Un moyen simple de vérifier si le fichier existe ou non:
Sources:
la source
Il existe un moyen simple de vérifier si votre fichier existe ou non:
la source