Tôi đã tra cứu golang.org/pkg/os/#File, nhưng vẫn không có ý tưởng. Dường như không có cách nào để có được chiều dài tập tin, tôi đã bỏ lỡ một cái gì đó?Cách nhận độ dài tệp trong Go?
Cách nhận độ dài tệp trong Go?
Tôi đã tra cứu golang.org/pkg/os/#File, nhưng vẫn không có ý tưởng. Dường như không có cách nào để có được chiều dài tập tin, tôi đã bỏ lỡ một cái gì đó?Cách nhận độ dài tệp trong Go?
Cách nhận độ dài tệp trong Go?
(*os.File).Stat()
trả về giá trị os.FileInfo
, lần lượt có phương thức Size()
. Vì vậy, cho một tập tin f
, mã sẽ giống như
fi, err := f.Stat()
if err != nil {
// Could not obtain stat, handle error
}
fmt.Printf("The file is %d bytes long", fi.Size())
câu trả lời Hơi dài dòng hơn:
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())
Nếu bạn không muốn để mở các tập tin, bạn có thể trực tiếp gọi os.Stat
để thay thế.
fi, e := os.Stat("/path/to/file");
if e != nil {
return e
}
// get the size
size := fi.Size()
Có thể tệp 'trì hoãn tệp .Đóng()' trước 'Stat()'? – Timmmm