it-swarm.com.de

Wie bekomme ich die Dateigröße in Go?

Ich habe nachgeschlagen golang.org/pkg/os/#File , aber immer noch keine Ahnung. Es scheint, als gäbe es keine Möglichkeit, die Dateigröße zu ermitteln. Habe ich etwas verpasst?

Wie bekomme ich die Dateigröße in Go?

56
hardPass

(*os.File).Stat() Gibt einen Wert von os.FileInfo Zurück, der wiederum eine Size() -Methode hat. Bei einer gegebenen Datei f wäre der Code also vergleichbar

fi, err := f.Stat()
if err != nil {
  // Could not obtain stat, handle error
}

fmt.Printf("The file is %d bytes long", fi.Size())
96
Dominik Honnef

Wenn Sie die Datei nicht öffnen möchten, können Sie stattdessen direkt os.Stat Aufrufen.

fi, err := os.Stat("/path/to/file");
if err != nil {
    return err
}
// get the size
size := fi.Size()
42
shebaw

Etwas ausführlichere Antwort:

file, err := os.Open( filepath ) 
if err != nil {
    log.Fatal(err)
}
fi, err := file.Stat()
if err != nil {
    log.Fatal(err)
}
fmt.Println( fi.Size() )
13
Lonnie Webb