获取文件属性
os.Args
os.Args是一个字符串slice
os.Args的第一个元素是os.Args[0],是命令本身的名字.
一般都是从os.Args[1]开始读取数据
os.Stat
func (f *File) Stat() (fi FileInfo, err error)
Stat返回描述文件f的FileInfo类型值。如果出错,错误底层类型是*PathError。
os.Stat用来获取文件属性
type FileInfo
type FileInfo interface { Name() string // 文件的名字(不含扩展名) Size() int64 // 普通文件返回值表示其大小;其他文件的返回值含义各系统不同 Mode() FileMode // 文件的模式位 ModTime() time.Time // 文件的修改时间 IsDir() bool // 等价于Mode().IsDir() Sys() interface{} // 底层数据来源(可以返回nil) }
FileInfo用来描述一个文件对象。
场景: 获取文件属性
func main() {
list := os.Args
if len(list) == 1 {
fmt.Println("无内容")
return
}
fileName := list[1]
info, err := os.Stat(fileName)//Stat获取文件属性
if err != nil {
fmt.Println("os.Stat err =",err)
return
}
fmt.Println("name =",info.Name())
fmt.Println("size =",info.Size())
fmt.Println("mode =",info.Mode())
fmt.Println("modtime =",info.ModTime())
fmt.Println("isDir =",info.IsDir())
fmt.Println("sys =",info.Sys())
}
Output:
终端执行命令: go run demo.go e:\face.jpg
name = face.jpg
size = 178154
mode = -rw-rw-rw-
modtime = 2019-02-20 21:02:58.0055166 +0800 CST
isDir = false
sys = &{32 {1739327783 30722332} {2624535810 30722332} {2583200894 30722332} 0 178154}
ps:Size()是按Byte字节进行计算大小.
版权声明:本文为weixin_43851310原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。