2013-06-16 30 views

Trả lời

61

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

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

Có thể tệp 'trì hoãn tệp .Đóng()' trước 'Stat()'? – Timmmm

12

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ác vấn đề liên quan