Как получить длину файла в Go?
Я посмотрел golang.org/pkg/os/#File, но до сих пор не знаю.
Кажется, нет способа получить длину файла, я что-то пропустил?
Как получить длину файла в Go?
Ответы
Ответ 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()