Documentation ¶
Overview ¶
Package filex Create on 2022/7/8 @author xuzhuoxi
Index ¶
- Constants
- Variables
- func CheckExt(path string, extName string) bool
- func Combine(dir string, add string, subs ...string) string
- func CompleteDir(dirPath string, perm os.FileMode) error
- func CompleteParentPath(filePathStr string, perm os.FileMode) error
- func Copy(srcFile string, dstFile string) (written int64, err error)
- func CopyAuto(srcFile string, dstFile string, autoPerm os.FileMode) (written int64, err error)
- func CopyMod(srcFile string, dstFile string, filePerm os.FileMode) (written int64, err error)
- func CopyModAuto(srcFile string, dstFile string, filePerm os.FileMode, autoPerm os.FileMode) (written int64, err error)
- func CopyModTo(srcFile string, targetDir string, filePerm os.FileMode) (written int64, err error)
- func CopyModToAuto(srcFile string, targetDir string, filePerm os.FileMode, autoPerm os.FileMode) (written int64, err error)
- func CopyTo(srcFile string, targetDir string) (written int64, err error)
- func CopyToAuto(srcFile string, targetDir string, autoPerm os.FileMode) (written int64, err error)
- func FormatPath(path string) string
- func GetExtWithDot(path string) string
- func GetExtWithoutDot(path string) string
- func GetFileSize(filePath string) (uint64, error)
- func GetFolderSize(dirPath string) (size uint64, err error)
- func GetPathsAll(dir string, filter PathFilter) (paths []string, err error)
- func GetPathsInDir(dir string, filter PathFilter) (paths []string, err error)
- func GetShortName(path string) string
- func GetSize(path string) (uint64, error)
- func GetUpDir(dir string) (upDir string, err error)
- func IsAbsFormat(path string) bool
- func IsDir(path string) bool
- func IsEmptyDir(path string) bool
- func IsEmptyFolder(path string) bool
- func IsExist(path string) bool
- func IsExtSeparator(c uint8) bool
- func IsExtSeparatorStr(str string) bool
- func IsFile(path string) bool
- func IsFolder(path string) bool
- func IsListSeparator(c uint8) bool
- func IsListSeparatorStr(str string) bool
- func IsRelativeFormat(path string) bool
- func IsUnixAbs(path string) bool
- func IsUnixSeparator(c uint8) bool
- func IsUnixSeparatorStr(str string) bool
- func IsWinAbs(path string) bool
- func IsWindowsSeparator(c uint8) bool
- func IsWindowsSeparatorStr(str string) bool
- func Move(srcPath string, dstPath string) error
- func MoveAuto(srcPath string, dstPath string, autoPerm os.FileMode) error
- func MoveTo(srcPath string, dstDir string) error
- func MoveToAuto(srcPath string, dstDir string, autoPerm os.FileMode) error
- func Remove(path string) error
- func RemoveAll(path string) error
- func RemoveByFilter(dir string, filter PathFilter) (count int, err error)
- func RemoveChildren(dir string) error
- func RemoveEmptyDir(dir string) (count int, err error)
- func RemoveFiles(dir string) (count int, err error)
- func Split(path string) (formattedDir string, fileName string)
- func SplitFileName(path string) (shortName string, dotExt string, ext string)
- func ToUnixPath(p string) string
- func ToWindowsPath(p string) string
- func WalkAll(path string, walkFn filepath.WalkFunc) error
- func WalkAllDirs(path string, walkFn filepath.WalkFunc) error
- func WalkAllFiles(path string, walkFn filepath.WalkFunc) error
- func WalkInDir(dir string, walkFn filepath.WalkFunc) error
- func WriteFile(name string, data []byte, perm os.FileMode) error
- func WriteFileAppend(name string, data []byte, perm os.FileMode) error
- type PathFilter
Constants ¶
const ( LittleFile = 32 * 1024 MiddleFile = 256 * 1024 )
const ( ExtSeparator = '.' // 扩展名分隔符 ExtSeparatorStr = "." // 扩展名分隔符 PathListSeparator = ';' // 路径列表分隔符 PathListSeparatorStr = ";" // 路径列表分隔符 )
const ( UnixSeparator = '/' // Linux路径级分隔符 UnixSeparatorStr = "/" // Linux路径级分隔符 WindowsSeparator = '\\' // Windows路径级分隔符 WindowsSeparatorStr = "\\" // Windows路径级分隔符 )
Variables ¶
var ( ErrRootPath = errors.New("Path is root. ") ErrNoUpperDir = errors.New("No upper dir. ") )
var (
ErrPathNotExist = errors.New("Path is not exist. ")
)
Functions ¶
func CompleteParentPath ¶
CompleteParentPath 根据文件路径补全缺失父目录路径 filePath必须绝对路径
func CopyModAuto ¶
func CopyModAuto(srcFile string, dstFile string, filePerm os.FileMode, autoPerm os.FileMode) (written int64, err error)
CopyModAuto 复制文件 根据文件大小选择不同的复制算法 同时设置新的FileMode 如果目录路径的父目录不存在,自动补全
func CopyModToAuto ¶
func CopyModToAuto(srcFile string, targetDir string, filePerm os.FileMode, autoPerm os.FileMode) (written int64, err error)
CopyModToAuto 复制文件到指定目录 根据文件大小选择不同的复制算法 同时设置新的FileMode 如果目录路径的父目录不存在,自动补全
func CopyToAuto ¶
CopyToAuto 复制文件到指定目录 根据文件大小选择不同的复制算法 如果目录路径的父目录不存在,自动补全
func FormatPath ¶
FormatPath 标准化路径(转为Linux路径) 转换为"/"形式路径 如果结果路径为目录,并以"/"结尾,清除"/" 不检测有效性
func GetFolderSize ¶
GetFolderSize 取文件夹大小,递归全部文件的大小之和
func GetPathsAll ¶
func GetPathsAll(dir string, filter PathFilter) (paths []string, err error)
GetPathsAll 遍历并根据筛选器获取全部路径(递归) 当filter=nil时,默认为命中 路径已进行FormatPath处理
func GetPathsInDir ¶
func GetPathsInDir(dir string, filter PathFilter) (paths []string, err error)
GetPathsInDir 遍历指定目录,并根据筛选器获取全部路径 当filter=nil时,默认为命中 不对子目录内容与当前目录进行筛选
func GetShortName ¶
GetShortName 取不包含扩展名的部分的文件名 不检查存在性 如果目录名字包含".",同样只截取"."前部分
func GetUpDir ¶
GetUpDir 取上级目录,如果没有目录分隔符,返回失败 根目录的上级目录为空,并返回失败 dir要求是经过FormatPath处理后的路径格式 注意:如果文件名或目录名中使用了"/"字符,会造成结果错误
func IsExtSeparator ¶
func IsExtSeparatorStr ¶
func IsListSeparator ¶
func IsListSeparatorStr ¶
func IsUnixSeparator ¶
func IsUnixSeparatorStr ¶
func IsWindowsSeparator ¶
func IsWindowsSeparatorStr ¶
func MoveAuto ¶
MoveAuto 移动文件或目录 文件移动:保留原有属性 目录移动:保留原有属性,同时移动目录包含的文件及子目录 旧路径无效:忽略 新路径无效:补全 新路径已存在:覆盖
func MoveTo ¶
MoveTo 移动文件或目录到指定目录 文件移动:保留原有属性 目录移动:保留原有属性,同时移动目录包含的文件及子目录 旧路径无效:忽略 目标路径无效:忽略 目标已存在:覆盖
func MoveToAuto ¶
MoveToAuto 移动文件或目录 文件移动:保留原有属性 目录移动:保留原有属性,同时移动目录包含的文件及子目录 旧路径无效:忽略 目标路径为文件:忽略 目标路径无效:自动补全
func RemoveByFilter ¶
func RemoveByFilter(dir string, filter PathFilter) (count int, err error)
RemoveByFilter 使用PathFilter进行可选删除
func RemoveEmptyDir ¶
RemoveEmptyDir 清除空目录 如果当前路径也为空目录,清除之 返回清除数量与错误
func SplitFileName ¶
SplitFileName 拆分文件名[shortName + dotExt + ext] shortName: 不带扩展名的文件名 dotExt: 带“.”的扩展名 ext: 不带“.”的扩展名
func ToUnixPath ¶
ToUnixPath 格式化为Linux路径 如果结果路径为目录,并以"/"结尾,清除"/" 不检测有效性
func ToWindowsPath ¶
ToWindowsPath 格式化为Windows路径 如果结果路径为目录,并以"/"结尾,清除"/" 不检测有效性
func WalkAllDirs ¶ added in v1.0.2
WalkAllDirs 遍历文件夹,包含自身与子目录 返回的path已使用FormatPath处理 注意:在Walk过程中 不可以 对dir目录(包括子目录)中的文件进行增删
func WalkAllFiles ¶ added in v1.0.2
WalkAllFiles 遍历文件,包含自身与子目录文件 返回的path已使用FormatPath处理 注意:在Walk过程中 不可以 对dir目录(包括子目录)中的文件进行增删
func WalkInDir ¶
WalkInDir 遍历指定目录 只对dir下一级文件或目录执行walkFn 返回的path已使用FormatPath处理 注意:WalkInDir 可以 对dir目录中的文件进行增删改
func WriteFile ¶ added in v1.0.1
WriteFile writes data to the named file, creating it if necessary. If the file does not exist, WriteFile creates it with permissions perm (before umask); otherwise WriteFile truncates it before writing, without changing permissions.
func WriteFileAppend ¶ added in v1.0.1
WriteFileAppend writes data to the named file, creating it if necessary. If the file does not exist, WriteFile creates it with permissions perm (before umask); otherwise WriteFile append data to it, without changing permissions.