zcpath

package
v0.0.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 8 Imported by: 0

README

path相关处理

用于本地目录与文件的相关处理。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChmodDir added in v0.0.9

func ChmodDir(dir string, mode os.FileMode) error

ChmodDir 修改目录权限

func ClearDir added in v0.0.9

func ClearDir(dir string) error

ClearDir 清空目录

该函数会删除目录下的所有文件和子目录, 但是不会删除目录本身

func CreateDir

func CreateDir(path string) (bool, error)

CreateDir 创建目录,若目录已经存在,会返回错误信息但bool返回true。

@param path 目录路径
@return bool 创建成功与否
@return error

func CreateFile added in v0.0.9

func CreateFile(filePath string) error

CreateFile 创建文件

func DirCopy added in v0.0.9

func DirCopy(src string, dst string) error

DirCopy 拷贝目录

例如: DirCopy("/x/y/z", "/a/b/c") 效果: 将子目录z拷贝到目标目录/a/b/c下面,即"/a/b/c/z"

func FileCopy added in v0.0.9

func FileCopy(src string, dst string) error

FileCopy 拷贝文件

@param src 源文件路径
@param dst 目标文件路径

func FileCopyFromDirToDir added in v0.0.9

func FileCopyFromDirToDir(srcDir string, dstDir string) error

FileCopyFromDirToDir 拷贝源目录下所有文件到目标目录,包括子目录及子目录下的文件

@param srcDir 源目录
@param dstDir 目标目录

func FileCopyToDir added in v0.0.9

func FileCopyToDir(src string, dstDir string) error

FileCopyToDir 拷贝文件到目录

@param src 源文件路径
@param dstDir 目标目录

func FileExists added in v0.0.9

func FileExists(path string) (bool, error)

FileExists 判断文件是否存在,且是不是文件

@param path 文件路径

func FileNotEmpty added in v0.0.9

func FileNotEmpty(path string) (bool, error)

FileNotEmpty 判断文件是否非空

@param path 文件路径
文件不存在、或不是文件而是目录、或文件size为0时都返回 false;
文件存在、且是文件、且size>0时返回 true;
获取文件信息失败时返回 false和error。

func FileWithWildcardCopyToDir added in v0.0.9

func FileWithWildcardCopyToDir(sourcePath string, dstDir string) error

FileWithWildcardCopyToDir 将含有通配符的文件路径指向的文件拷贝到目标目录下

  • sourcePath: 含有通配符(*)的文件路径,如: /a/b/*.txt
  • dstDir: 目标目录,如: /c/d

效果类似: cp /a/b/*.txt /c/d

func FilterFileByCondition added in v0.0.3

func FilterFileByCondition(dir string, condition FileFilterCondition) []string

FilterFileByCondition 根据条件过滤文件

func FirstDir added in v0.0.9

func FirstDir(path string) string

FirstDir 获取path的第一个目录

@param path 路径
例如:
FirstDir("/a/b/c/d.txt") = "a"
FirstDir("a/b/c/d.txt") = "a"
FirstDir("./a/b/c/d.txt") = "."
FirstDir("../a/b/c/d.txt") = ".."
FirstDir("C:\a\b\c\d.txt") = "C:"
FirstDir("\a\b\c\d.txt") = "a"
FirstDir("a\b\c\d.txt") = "a"

func IsDirEmpty added in v0.0.9

func IsDirEmpty(dirPath string) (bool, error)

IsDirEmpty 判断目录是否为空

func PrintDirTree added in v0.0.9

func PrintDirTree(root string, level int, onlyDir bool, showHidden bool) error

PrintDirTree 打印目录树

@param root 根目录
@param level 打印层级, 0只打印根目录自身,1表示打印一层(根目录下的文件与目录), 2表示打印两层, 依次类推。-1表示打印所有层级。
@param onlyDir 只打印目录
@param showHidden 是否显示隐藏文件

func PrintDirTreeWithMode added in v0.0.9

func PrintDirTreeWithMode(root string, level int, onlyDir bool, showHidden bool) error

func ReadFileToLinesAndAll added in v0.0.9

func ReadFileToLinesAndAll(filePath string) ([]string, string, error)

ReadFileToLinesAndAll 从filePath读取文件内容,返回每一行的内容和所有内容

使用ioutil.ReadFile一次性读取文件全部字节,建议只在读取小文件(<1MB)时使用该函数。

func ReadFileToLinesBySize added in v0.0.9

func ReadFileToLinesBySize(filename string) ([]string, error)

ReadFileToLinesBySize 根据文件大小读取行

当文件大小不足1MB时,整个读入内存;
当文件大小达到或超过1MB时,按行读取,注意每行token数量不能超过65536.

func RemoveFile added in v0.0.9

func RemoveFile(filePath string) error

RemoveFile 删除文件, 如果文件不存在,不报错

func RemoveFileWithWildcard added in v0.0.9

func RemoveFileWithWildcard(filePath string) error

RemoveFileWithWildcard 根据带通配符的文件路径删除文件

  • filePath: 要删除的文件path, 如"/a/b/*.txt"

func SplitPath added in v0.0.9

func SplitPath(path string) []string

SplitPath 切分路径

@param path 路径
例如:
SplitPath("/a/b/c/d.txt") = []string{"a", "b", "c", "d.txt"}
SplitPath("a/b/c/d.txt") = []string{"a", "b", "c", "d.txt"}
SplitPath("./a/b/c/d.txt") = []string{".", "a", "b", "c", "d.txt"}
SplitPath("../a/b/c/d.txt") = []string{"..", "a", "b", "c", "d.txt"}
SplitPath("C:\a\b\c\d.txt") = []string{"C:", "a", "b", "c", "d.txt"}
SplitPath("\a\b\c\d.txt") = []string{"a", "b", "c", "d.txt"}
SplitPath("a\b\c\d.txt") = []string{"a", "b", "c", "d.txt"}

Types

type FileFilterCondition added in v0.0.3

type FileFilterCondition struct {
	FileNamePrefix string // 文件名前缀
	FileNameSuffix string // 文件名后缀
	FileNameRegex  string // 文件名正则表达式
	ContainsHidden bool   // 是否查找隐藏文件
	ContainsDir    bool   // 是否查找目录
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL