用电脑记事本做网站,网站服务费做管理费用,搜狗官网,网站排名不稳定如有帮助#xff0c;欢迎留下足迹哦#xff01; 目录
创建文件
带权限创建或打开
创建目录#xff08;单级、多级#xff09;
检查给定路径#xff08;目录、文件#xff09;是否存在
将目录和文件名拼接成为完整文件路径
给定文件路径获取文件后缀
给定文件路径获… 如有帮助欢迎留下足迹哦 目录
创建文件
带权限创建或打开
创建目录单级、多级
检查给定路径目录、文件是否存在
将目录和文件名拼接成为完整文件路径
给定文件路径获取文件后缀
给定文件路径获取文件名及其上级目录
判断给定路径是文件还是目录
统计目录下的文件数量
获取给定目录下的所有文件包括子文件夹下的所有子文件
给文件加权限chmod
获取文件的权限、判断文件是否具有可执行权限 创建文件
file, err : os.Create(fileName)
带权限创建或打开
mode : os.FileMode(0644) | os.ModePerm// 注意OpenFile默认以只读方式来打开文件此时无需调用os.Create来创建。
// O_RDONLY为只读O_CREATE为创建O_WRONLY为只写O_TRUNC为打开并清空文件 模式可自选。
file, err : os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, mode)
创建目录单级、多级
func CreateDir(dir string) (bool, error) {// 单级// os.Mkdir()// 多级if err : os.MkdirAll(dir, 0755); err ! nil {return false, err}return true, nil
}
检查给定路径目录、文件是否存在
// 结果为true表示存在
func Exists(path string) bool {_, err : os.Stat(path)return err nil
}
将目录和文件名拼接成为完整文件路径
filePath : filepath.Join(dir, filename)
或
filePath : path.Join(dir, filename)
区别是前者自动基于操作系统来进行路径拼接后者主要拼接通用的、与操作系统无关的路径格式。 注 linux下为/ windows下为反斜杠\ 给定文件路径获取文件后缀
ext filepath.Ext(respPayload.FilePath)
给定文件路径获取文件名及其上级目录
fileDir, fileName filepath.Split(file)
判断给定路径是文件还是目录
// isDirfalse表示是文件
func IsDir(path string) (isDir bool, err error) {f, err : os.Stat(path)if err ! nil {return}if f.IsDir() {isDir true}return
}
统计目录下的文件数量
func GetFileNumbers(folder string) (numbers int) {files, _ : ioutil.ReadDir(folder)for _, file : range files {if !file.IsDir() {numbers}}return
}
获取给定目录下的所有文件包括子文件夹下的所有子文件
func GetFiles(folder string) (filesList []string) {files, _ : ioutil.ReadDir(folder)for _, file : range files {if file.IsDir() {GetFiles(folder / file.Name())} else {filesList append(filesList, file.Name())}}return
}
给文件加权限chmod
// 如增加可执行权限
err : os.Chmod(fileName, os.FileMode(73))
获取文件的权限、判断文件是否具有可执行权限
func getAccess() {info, err : os.Stat(./a)if err ! nil {return}mode : info.Mode() // 当前文件的权限// |493|111101101|-rwxr-xr-x|----------|false|true|fmt.Printf(|%d|%b|%v|%v|%v|%v|\n, mode, mode, mode.Perm(), mode.Type(), mode.IsDir(), mode.IsRegular())// -rwxr-xr-xfmt.Println(mode.String())// 是否有有可执行权限相当于和–x–x–x进行按位与操作// 如果结果等于0111说明文件对于所有者、组和其他用户都有执行权限。if mode.Perm()0111 0111 { // 或 mode.Perm()73 os.FileMode(73)// 有可执行权限fmt.Println(can executable)} else {fmt.Println(no executable)}
}