go基础库之获取文件信息

如果需要获取访问文件的基本信息,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结构包含有关该文件的所有基本信息。