A menos que esté utilizando un método como OpenFile (), es bueno asegurarse de que exista el archivo que desea usar; de lo contrario, puede conducir a errores inesperados.
En este artículo, necesitaremos el paquete del sistema operativo de la biblioteca estándar GO para verificar si existe un archivo antes de usarlo.
Método de estadística de Golang
Podemos usar el método Golang Stat () para verificar si existe un archivo o no. La sintaxis de la función es como se muestra:
FUNC STAT (String Name String) (FileInfo, Error)
La función toma el nombre del archivo como argumento y devuelve la información del archivo como un objeto (si el archivo existe) o un error.
Tenga en cuenta que el método de estadística puede encontrar muchos errores. Por lo tanto, debemos verificar si es un archivo que no existe un error. Podemos hacer esto usando el sistema operativo.Error Errnotexist ().
Considere el código de ejemplo que se muestra a continuación:
paquete principal
importar (
"Errores"
"FMT"
"registro"
"OS"
)
func Main ()
_, err: = OS.Estadística ("Hola.TXT")
Si los errores.Es (err, os.Errnotexist)
registro.Fatal ("El archivo no existe")
demás
fmt.Println ("Existe el archivo")
Una vez que ejecutamos el código anterior, debe verificar si el archivo existe en la ruta proporcionada. Verificamos si el archivo existe en el directorio actual en nuestro ejemplo.
El programa anterior debe regresar:
$ Go Run Check_File_Exists.ir
El archivo existe
Si especificamos un archivo que no existe, la salida es como se muestra:
El archivo no existe
Estado de salida 1
Si desea mostrar cualquier otro error que no sea el error "Archivo no existe", podemos hacer:
paquete principal
importar (
"Errores"
"FMT"
"registro"
"OS"
)
func Main ()
_, err: = OS.Stat ("Hellotxt")
Si err != nulo
registro.Fatal (err)
Si los errores.Es (err, os.Errnotexist)
registro.Fatal ("El archivo no existe")
demás
fmt.Println ("Existe el archivo")
Conclusión
Esta guía le mostró cómo verificar si existe un archivo antes de usarlo. Esto puede ayudar a prevenir un error fatal en su programa.