2013-06-16 2 views

答えて

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

'stat()'の前に '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() 
関連する問題