Подтвердить что ты не робот

Как получить длину файла в Go?

Я посмотрел golang.org/pkg/os/#File, но до сих пор не знаю. Кажется, нет способа получить длину файла, я что-то пропустил?

Как получить длину файла в Go?

4b9b3361

Ответ 1

(*os.File).Stat() возвращает значение os.FileInfo, которое, в свою очередь, имеет метод Size(). Итак, учитывая файл f, код будет сродни

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

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

Ответ 2

Немного более подробный ответ:

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() )

Ответ 3

Если вы не хотите открывать файл, вы можете напрямую вызвать os.Stat.

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