Golang sjekk om filen eksisterer

Golang sjekk om filen eksisterer
Som programmerere møter vi tilfeller der vi trenger å jobbe med filer. Vi kan lese eller skrive til en fil i systemet.

Med mindre du bruker en metode som OpenFile (), er det bra å sikre at filen du ønsker å bruke eksisterer; Ellers kan det føre til uventede feil.

I denne artikkelen trenger vi OS -pakken fra Go Standard -biblioteket for å sjekke om det finnes en fil før du bruker den.

Golang Stat -metode

Vi kan bruke Golang Stat () -metoden for å sjekke om en fil eksisterer eller ikke. Syntaksen til funksjonen er som vist:

func stat (navnestreng) (fileinfo, feil)

Funksjonen tar navnet på filen som argument og returnerer filinformasjonen som et objekt (hvis filen eksisterer) eller en feil.

Husk at statsmetoden kan møte mange feil. Derfor må vi sjekke om det er en fil som ikke eksisterer feil. Vi kan gjøre dette ved hjelp av OS.Errnotexist () feil.

Tenk på eksempelkoden vist nedenfor:

pakkehoved
import (
"Feil"
"FMT"
"Logg"
"OS"
)
func main ()
_, feil: = OS.Stat ("Hei.tekst")
Hvis feil.Er (feil, os.Errnotexist)
Logg.Fatal ("Filen eksisterer ikke")
annet
fmt.Println ("Fil eksisterer")

Når vi har kjørt koden over, bør den sjekke om filen eksisterer i den medfølgende banen. Vi sjekker om filen eksisterer i den gjeldende katalogen i vårt eksempel.

Programmet over skal returnere:

$ go run check_file_exists.gå
Filen eksisterer

Hvis vi spesifiserer en fil som ikke eksisterer, er utgangen som vist:

Filen eksisterer ikke
Avslutt status 1

Hvis du vil vise annen feil enn "filen" ikke eksisterer ", kan vi gjøre:

pakkehoved
import (
"Feil"
"FMT"
"Logg"
"OS"
)
func main ()
_, feil: = OS.Stat ("Hellotxt")
Hvis feil != nil
Logg.Fatal (feil)

Hvis feil.Er (feil, os.Errnotexist)
Logg.Fatal ("Filen eksisterer ikke")
annet
fmt.Println ("Fil eksisterer")

Konklusjon

Denne guiden viste deg hvordan du kan sjekke om det finnes en fil før du bruker den. Dette kan bidra til å forhindre en dødelig feil i programmet ditt.