文件相干信息
能够用 fileInfo 这个 API:
package main
import (
"fmt"
"os"
)
func main() {fileInfo, err := os.Stat("/Users/liberhome/GolandProjects/awesomeProject/test/test.txt")
if err != nil {fmt.Println("err:", err)
return
}
// 文件类型
fmt.Printf("%T\n", fileInfo)
// 文件名
fmt.Println(fileInfo.Name())
// size
fmt.Println(fileInfo.Size())
// isdir
fmt.Println(fileInfo.IsDir())
// Mode
fmt.Println(fileInfo.Mode())
}
文件权限
权限的示意能够用符号 or 8 进制示意
符号示意
第一个是类型,如果是文件 用 - 示意 目录用 d 示意
前面三个别离代表以后利用具备的权限、以后利用所在的组、其他人的权限
权限个别分为 3 种:
r(可读)w(可写)x(可执行) 没有哪一个权限就用 - 代替示意
-rwxr-xr-x
首先第一个 - 表明了这是一个文件
前面的 rwx 表明了这个文件领有可读可写可执行的 3 个权限
前面的 r - x 表明了他所在的组的权限是可读可执行不可写
前面的 r - x 表明了其他人的权限是可读可执行不可写
其实更加罕用的是用
数字示意
r(可读)用 004 示意
w(可写)用 002 示意
x(可执行)用 001 示意
– 用 000 示意
比方 0777 中的 7 就是 4 +2+ 1 就是可读可写可执行
文件门路
相对路径与绝对路径的 API:filepath
filepath.IsAbs() : 判断是否是绝对路径
filepath.Abs(xxx): 失去文件 xxx 的绝对路径
📢📢📢
os.ModePerm 是一个常数 代表 0777 也就是可读可写可执行
os.Mkdir 能够创立最初一级文件夹
os.MkdirAll 能够把到最初一级没有呈现过的文件夹全副创立进去
创立文件
默认采纳 0666 可读写不可执行权限
file1, err := os.Create("/Users/liberhome/GolandProjects/awesomeProject/test/test1.txt")
if err != nil {fmt.Println(file1)
}
关上文件
Open 与 OpenFile 的区别:open 关上的文件是只读的,OpenFile 能够在参数里指定权限关上
敞开文件
file.Close()
删除文件
os.remove("path")// 删除文件 or 空的文件夹
os.removeAll("path")// 删除文件 or 文件夹 [慎用,不会通过回收站]
参考资料起源:
bilibili