Skip to content

file

文件信息

go
info, err := os.Stat("test.txt")

fmt.Println(info.Name())
fmt.Println(info.Size())
fmt.Println(info.Mode())
fmt.Println(info.ModTime())
fmt.Println(info.IsDir())

// 判断是否存在
if os.IsNotExist(err) {
    fmt.Println("not exist")
}

打开

go
// 只读打开
file, err := os.Open("test.txt")
go
// 指定方式打开
os.OpenFile(name, flag, perm)

file, err := os.OpenFile( "log.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644, )
  • os.O_RDONLY
  • os.O_WRONLY
  • os.O_RDWR
  • os.O_APPEND
  • os.O_CREATE
  • os.O_TRUNC

创建文件

如果存在会 截断覆盖。

go
file, err := os.Create("test.txt")

创建目录

go
os.Mkdir("dir", 0755)

重命名 / 移动

go
os.Rename("a.txt", "b.txt")

删除

go
// 删除目录
os.Remove("test.txt")

// 删除文件
os.RemoveAll("dir")

读文件

go
os.ReadDir(path)

CreateTemp

go
file, err := os.CreateTemp("", "example")

// /tmp/example123456789

文件名自动生成、保证唯一

第一个参数是创建目录,一般为 ""

WalkDir

todo 遍历目录

读文件内容

见 上一篇文章

写文件内容

见 上一篇文章