golang_获取文件属性: os包中os.Stat的用法介绍

本文介绍了在Golang中如何使用os.Stat方法获取文件属性,os.Args用于读取命令行参数,而os.Stat则用于获取文件的FileInfo,包括文件大小等详细信息。示例展示了通过go run命令获取指定路径文件的属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取文件属性

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字节进行计算大小.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值