If you need to discover basic information about the accessed file, Go's standard library provides a way on how you can do this. This recipe shows how you can access this information.
Create the sample test.file with the content This is test file
#
Create the fileinfo.go file with the following content:#
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("test.file")
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())
}
output:
sangam:golang-daily sangam$ go run fileinfo.go
File name: test.file
Is Directory: false
Size: 18
Mode: -rw-r--r--
sangam:golang-daily sangam$
How it works...#
The os.File type provides access to the FileInfo type via the Stat method. The FileInfo struct contains all the basic information about the file.