Golang vérifie si le fichier existe

Golang vérifie si le fichier existe
En tant que programmeurs, nous rencontrons des cas où nous devons travailler avec des fichiers. Nous pourrions lire ou écrire dans un fichier dans le système.

À moins que vous n'utilisiez une méthode telle que OpenFile (), il est bon de s'assurer que le fichier que vous souhaitez utiliser existe; Sinon, cela peut conduire à des erreurs inattendues.

Dans cet article, nous aurons besoin du package OS de la bibliothèque standard Go pour vérifier si un fichier existe avant de l'utiliser.

Méthode Stat Golang

Nous pouvons utiliser la méthode Golang stat () pour vérifier si un fichier existe ou non. La syntaxe de la fonction est comme indiqué:

func stat (name String) (fileinfo, error)

La fonction prend le nom du fichier comme argument et renvoie les informations du fichier en tant qu'objet (si le fichier existe) ou une erreur.

Gardez à l'esprit que la méthode STAT peut rencontrer de nombreuses erreurs. Par conséquent, nous devons vérifier s'il s'agit d'un fichier qui n'existe pas d'erreur. Nous pouvons le faire en utilisant le système d'exploitation.ErrNotexist () Erreur.

Considérez l'exemple de code ci-dessous:

package principal
importer (
"les erreurs"
"FMT"
"enregistrer"
"OS"
)
func main ()
_, euh: = os.STAT ("Bonjour.SMS")
Si les erreurs.Est (euh, OS.Errnotexist)
enregistrer.Fatal ("le fichier n'existe pas")
autre
fmt.Println ("Fichier existe")

Une fois que nous exécutons le code ci-dessus, il devrait vérifier si le fichier existe dans le chemin fourni. Nous vérifions si le fichier existe dans le répertoire actuel dans notre exemple.

Le programme ci-dessus doit revenir:

$ go run check_file_exists.aller
le fichier existe

Si nous spécifions un fichier qui n'existe pas, la sortie est comme indiqué:

Fichier ne existe pas
Statut de sortie 1

Si vous souhaitez afficher une autre erreur autre que l'erreur «Fichier n'existe pas», nous pouvons faire:

package principal
importer (
"les erreurs"
"FMT"
"enregistrer"
"OS"
)
func main ()
_, euh: = os.Stat ("Hellotxt")
Si err != nil
enregistrer.Fatal (euh)

Si les erreurs.Est (euh, OS.Errnotexist)
enregistrer.Fatal ("le fichier n'existe pas")
autre
fmt.Println ("Fichier existe")

Conclusion

Ce guide vous a montré comment vérifier si un fichier existe avant de l'utiliser. Cela peut aider à prévenir une erreur fatale dans votre programme.