Golang überprüfen, ob die Datei vorliegt

Golang überprüfen, ob die Datei vorliegt
Als Programmierer begegnen wir Instanzen, in denen wir mit Dateien arbeiten müssen. Wir könnten eine Datei im System lesen oder schreiben.

Sofern Sie keine Methode wie OpenFile () verwenden, ist es gut sicherzustellen, dass die Datei, die Sie verwenden möchten, vorhanden ist. Andernfalls kann dies zu unerwarteten Fehlern führen.

In diesem Artikel benötigen wir das Betriebssystempaket in der Go -Standardbibliothek, um zu überprüfen, ob eine Datei vorhanden ist, bevor es es verwendet.

GOLANG STAT -Methode

Wir können die Golang stat () -Methode verwenden, um zu überprüfen, ob eine Datei vorliegt oder nicht. Die Syntax der Funktion ist wie gezeigt:

Func Stat (Name Zeichenfolge) (DateiInfo, Fehler)

Die Funktion nimmt den Namen der Datei als Argument an und gibt die Dateiinformationen als Objekt (falls die Datei vorhanden) oder als Fehler zurück.

Beachten Sie, dass die STAT -Methode auf viele Fehler stoßen kann. Daher müssen wir überprüfen, ob es sich um eine Datei handelt, die keinen Fehler gibt. Wir können dies mit dem Betriebssystem tun.Errnotexist () fehler.

Betrachten Sie den unten angegebenen Beispielcode:

Paket Main
importieren (
"Fehler"
"fmt"
"Protokoll"
"OS"
)
func main ()
_, arr: = os.Stat ("Hallo.txt")
Wenn Fehler.IS (ähm, os.Errnotexist)
Protokoll.Fatal ("Datei existiert nicht")
anders
fmt.Println ("Datei existiert")

Sobald wir den obigen Code ausgeführt haben, sollte er überprüfen, ob die Datei im bereitgestellten Pfad vorhanden ist. Wir überprüfen, ob die Datei im aktuellen Verzeichnis in unserem Beispiel vorhanden ist.

Das obige Programm sollte zurückkehren:

$ go run check_file_exists.gehen
Datei existiert

Wenn wir eine nicht vorhandene Datei angeben, ist die Ausgabe wie gezeigt:

Die Datei existiert nicht
Beendenstatus 1

Wenn Sie einen anderen Fehler als den Fehler „Datei nicht existieren“ anzeigen möchten, können wir dies tun:

Paket Main
importieren (
"Fehler"
"fmt"
"Protokoll"
"OS"
)
func main ()
_, arr: = os.Stat ("Hellotxt")
Wenn er irrt != nil
Protokoll.Tödlich (arr)

Wenn Fehler.IS (ähm, os.Errnotexist)
Protokoll.Fatal ("Datei existiert nicht")
anders
fmt.Println ("Datei existiert")

Abschluss

Diese Anleitung hat Ihnen gezeigt, wie Sie überprüfen, ob eine Datei vorhanden ist, bevor Sie sie verwenden. Dies kann dazu beitragen, einen tödlichen Fehler in Ihrem Programm zu verhindern.