如果需要获取访问文件的基本信息,Go标准库提供了相关的方法。
获取文件信息
Golang 版本
1.12.1
前言
如果需要获取访问文件的基本信息,Go标准库提供了相关的方法。
实现
创建文件testfile
,内容如下:
This is test file.
创建文件fileinfo.go
,代码如下:
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("testfile")
if err != nil {
panic(err)
}
fi, err := f.Stat()
if err != nil {
panic(err)
}
fmt.Printf("File name: %v\n", fi.Name())
fmt.Printf("Is Directory: %t\n", fi.IsDir())
fmt.Printf("Size: %d\n", fi.Size())
fmt.Printf("Mode: %v\n", fi.Mode())
}
$ go run fileinfo.go
File name: testfile
Is Directory: false
Size: 18
Mode: -rw-rw-rw-
原理
os.File
类型通过Stat
方法提供对FileInfo
类型的访问。 FileInfo
结构包含有关该文件的所有基本信息。