Heim > Backend-Entwicklung > Golang > So ermitteln Sie, ob eine Datei in Golang vorhanden ist

So ermitteln Sie, ob eine Datei in Golang vorhanden ist

Freigeben: 2019-12-25 09:54:53
Original
5633 Leute haben es durchsucht

So ermitteln Sie, ob eine Datei in Golang vorhanden ist

Normalerweise müssen Sie vor dem Lesen und Schreiben von Dateien feststellen, ob die Datei oder das Verzeichnis vorhanden ist, da sonst bestimmte Verarbeitungsmethoden zu Programmfehlern führen können. Daher ist es am besten, vor dem Ausführen eines Vorgangs festzustellen, ob die Datei vorhanden ist.

Die Methode für Golang, um festzustellen, ob eine Datei oder ein Ordner vorhanden ist, besteht darin, den von der Funktion os.Stat() zurückgegebenen Fehlerwert zu verwenden, um Folgendes zu bestimmen:

1 Wenn der zurückgegebene Fehler Null ist , es zeigt an, dass die Datei oder der Ordner nicht existiert

2. Wenn der zurückgegebene Fehlertyp mit os.IsNotExist() als wahr beurteilt wird, bedeutet dies, dass die Datei oder der Ordner existiert

3. Wenn der zurückgegebene Fehler von einem anderen Typ ist, wird nicht ermittelt, ob

// 判断所给路径文件/文件夹是否存在 
func Exists(path string) bool {  
    _, err := os.Stat(path)    //os.Stat获取文件信息  
    if err != nil {  
        if os.IsExist(err) {  
            return true  
        }  
        return false  
    }  
    return true  
}  
  
// 判断所给路径是否为文件夹  
func IsDir(path string) bool {  
    s, err := os.Stat(path)  
    if err != nil {  
        return false  
    }  
    return s.IsDir()  
}  
  
// 判断所给路径是否为文件  
func IsFile(path string) bool {  
    return !IsDir(path)  
}
Nach dem Login kopieren

Hinweis:

Wenn unser FileExist „true“ zurückgibt, existiert die Datei nicht unbedingt.

Wenn wir für einen bestimmten Teil des Zielpfads keine lesbaren Berechtigungen haben, geben os.Lstat und syscall.Access ebenfalls einen Fehler zurück, aber dieser Fehler führt nicht dazu, dass os.IsNotExist true zurückgibt.

Wenn die Datei nicht existiert und Sie keine Zugriffsrechte auf das Verzeichnis haben, in dem sich die Datei befindet, oder auf ihr oberes Verzeichnis, gibt FileExist trotzdem „true“ zurück und der Fehler tritt zu diesem Zeitpunkt auf.

Der wichtige Punkt ist also, dass Sie vor der Beurteilung, ob die Datei existiert, zunächst beurteilen sollten, ob Sie Zugriffsrechte auf die Datei und ihren Pfad haben.

Weitere Golang-Kenntnisse finden Sie in der Spalte Golang-Tutorial.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob eine Datei in Golang vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage