2013-06-16 8 views
34

मैंने golang.org/pkg/os/#File देखा, लेकिन अभी भी कोई जानकारी नहीं है। लगता है कि फ़ाइल की लंबाई पाने का कोई तरीका नहीं है, क्या मुझे कुछ याद आया?गो में फ़ाइल की लंबाई कैसे प्राप्त करें?

गो में फ़ाइल की लंबाई कैसे प्राप्त करें?

उत्तर

61

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

थोड़ा अधिक वर्बोज़ जवाब देने के लिए होगा:

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

हो सकता है कि 'स्टेटर() 'से पहले' defer file.Close()'? – Timmmm

12

फ़ाइल खोलने के लिए नहीं करना चाहते हैं, तो आप सीधे os.Stat बजाय कॉल कर सकते हैं।

fi, e := os.Stat("/path/to/file"); 
if e != nil { 
    return e 
} 
// get the size 
size := fi.Size() 
संबंधित मुद्दे