Quero verificar a existência de arquivo ./conf/app.ini
no meu código Go, mas não consigo encontrar uma boa maneira de fazer isso.
Eu sei que existe um método de arquivo em Java public boolean exists()
:, que retorna true se o arquivo ou diretório existir.
Mas como isso pode ser feito no Go?
f, err := os.Open(name)
ouf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
verifiqueos.IsNotExist(err)
).Respostas:
Editado para adicionar tratamento de erros.
fonte
panic
para uma "exceção" real como um objeto. Você pode "pegar" com uma chamada pararecover
. O retorno explícito deerr
um segundo valor é uma técnica Go idiomática extremamente comum. Veja: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Você pode usar isto:
Veja: http://golang.org/pkg/os/#IsNotExist
fonte
Mais como um FYI, já que olhei em volta por alguns minutos, pensando que minha pergunta estava a uma rápida pesquisa.
Essa foi a resposta mais popular nos meus resultados de pesquisa, mas aqui e em outros lugares as soluções fornecem apenas a verificação da existência. Para verificar se
path
representa um diretório existente, achei que poderia facilmente:Parte do meu problema era que eu esperava que o
path/filepath
pacote contivesse a função isDir ().fonte
Maneira simples de verificar se o arquivo existe ou não:
Fontes:
fonte
Existe uma maneira simples de verificar se o seu arquivo existe ou não:
fonte