./conf/app.ini
Go 코드 에 파일이 있는지 확인하고 싶지만 좋은 방법을 찾을 수 없습니다.
Java에 File 메서드가 있다는 것을 알고 public boolean exists()
있습니다. 파일 또는 디렉토리가 존재하면 true를 반환합니다.
그러나 어떻게 이것을 Go에서 할 수 있습니까?
답변
// exists returns whether the given file or directory exists
func exists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil { return true, nil }
if os.IsNotExist(err) { return false, nil }
return false, err
}
오류 처리를 추가하도록 편집되었습니다.
답변
이것을 사용할 수 있습니다 :
if _, err := os.Stat("./conf/app.ini"); err != nil {
if os.IsNotExist(err) {
// file does not exist
} else {
// other error
}
}
답변
FYI의 더 많은 것, 나는 내 질문이 빠른 검색이라고 생각하면서 몇 분 동안 둘러 보았으므로.
Go에서 경로가 기존 디렉토리를 나타내는 지 확인하는 방법은 무엇입니까?
이것은 내 검색 결과에서 가장 인기있는 답변이지만 여기 및 다른 곳에서는 솔루션이 존재 확인 만 제공합니다. path
기존 디렉토리를 나타내는 지 확인하기 위해 쉽게 할 수 있음을 발견했습니다.
path := GetSomePath();
if stat, err := os.Stat(path); err == nil && stat.IsDir() {
// path is a directory
}
내 문제의 일부는 path/filepath
패키지에 isDir () 함수가 포함될 것으로 예상했다는 것 입니다.
답변
파일이 있는지 여부를 확인하는 간단한 방법 :
if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) {
// path/to/whatever does not exist
}
if _, err := os.Stat("/path/to/whatever"); err == nil {
// path/to/whatever exists
}
출처 :
답변
파일이 있는지 여부를 확인하는 간단한 방법이 있습니다.
if _, err := os.Stat("./conf/app.ini"); err != nil {
if os.IsNotExist(err) {
..... //Shows error if file not exists
} else {
..... // Shows success message like file is there
}
}