file

package
v1.1.7 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ListRecursive 表示使用ListMatch递归地列出遇到的目录项。
	ListRecursive int = 1 << iota
	// ListToLower ListMatch用于在模式匹配之前将文件名转换为小写
	ListToLower
	// ListUseRegExp 指定ListMatch使用正则表达式进行模式匹配。
	ListUseRegExp
	// ListIncludeDir 通过ListMatch将匹配的目录包含在返回的列表中。
	ListIncludeDir
	// ListIncludeFile 通过ListMatch将匹配的文件包含在返回的列表中。
	ListIncludeFile
	// ListIncludeSymlink 指定ListMatch,将匹配的符号链接包含在返回的列表中。
	ListIncludeSymlink
)

这些标志由ListMatch方法使用

View Source
const (
	// ListIncludeAll indicates ListMatch to include all the matched in the returned list.
	ListIncludeAll = ListIncludeDir | ListIncludeFile | ListIncludeSymlink
)

Variables

This section is empty.

Functions

func ChangeExeDir

func ChangeExeDir() (err error)

ChangeExeDir @Description: 将当前工作目录更改为启动当前进程的可执行文件所在的目录。 如果使用符号链接启动进程,当前工作目录将变为该链接所指向的可执行文件的目录。 @return err

func CopyDir

func CopyDir(src, dest string) (err error)

CopyDir @Description: 递归地将目录复制到目标目录。目录中的符号链接将被复制而不是被跟踪。 如果目标是一个存在的文件,则会返回错误 如果目标是一个已存在的目录,则将源目录复制到同名目录中。 如果目标不存在,但其父目录存在,则源目录将被复制到具有目标名称的父目录中。 如果发生错误,它会立即停止并返回,错误类型为*os.PathError。 @param: src @param: dest @return err

func CopyFile

func CopyFile(src, dest string) (err error)

CopyFile @Description: 将文件复制到目标文件或目录。符号链接将被跟踪。 如果目标文件是一个存在的文件,则目标文件将被源文件覆盖 如果目标文件是已存在的目录,则将源文件复制到相同文件名的目录中。 如果目标不存在,但其父目录存在,则源文件将被复制到以目标名称命名的父目录中。 如果有错误,它的类型将是*os. pathror。 @param: src @param: dest @return err

func CopySymlink(src, dest string) (err error)

CopySymlink @Description: 将符号链接复制到目标文件或目录。 CopySymlink只复制链接中的内容,而不会尝试读取链接指向的文件。 如果有错误,它的类型将是*os. pathror。 @param: src @param: dest @return err

func Exist

func Exist(path string) bool

Exist @Description: 检查给定路径是否存在。 如果文件是符号链接,它将尝试跟随链接并检查源文件是否存在。 @param: path @return bool

func ExistDir

func ExistDir(path string) bool

ExistDir @Description: 检查给定路径是否存在并且是目录。 如果文件是符号链接,它将尝试跟随链接并检查源文件是否存在。 @param: path @return bool

func ExistFile

func ExistFile(path string) bool

ExistFile @Description: 检查给定路径是否存在并且是文件。 如果文件是符号链接,它将尝试跟随链接并检查源文件是否存在。 @param: path @return bool

func ExistSymlink(path string) bool

ExistSymlink @Description: 检查给定路径是否存在并且是符号链接。 它只检查路径本身,并不尝试跟随链接。 @param: path @return bool

func GetDirSize

func GetDirSize(path string) (size int64, err error)

GetDirSize @Description: 返回目录中所有常规文件和符号链接的总大小(以字节为单位)。 如果给定的路径是符号链接,它将被跟随,但目录中的符号链接不会。 @param: path @return size @return err

func GetFileExt

func GetFileExt(filesPaths string) (fileType string)

GetFileExt @Description: 获取文件的后缀 @param: filesPaths @return fileType

func GetFileSize

func GetFileSize(path string) (size int64, err error)

GetFileSize @Description: 返回常规文件的大小(以字节为单位)。 如果给定的路径是符号链接,它将被跟随。 @param: path @return size @return err

func GetFileType

func GetFileType(filesPaths string) (contentType, ext, parent string)

GetFileType @Description: 获取文件类型 @param: path

func GetSymlinkSize

func GetSymlinkSize(path string) (size int64, err error)

GetSymlinkSize @Description: 返回符号链接的大小(以字节为单位)。 @param: path @return size @return err

func IsDirEmpty

func IsDirEmpty(path string) (empty bool, err error)

IsDirEmpty @Description: 检查给定的目录是否为空。 @param: path @return empty @return err

func IsFileEmpty

func IsFileEmpty(path string) (empty bool, err error)

IsFileEmpty @Description: 检查给定的文件是否为空。 @param: path @return empty @return err

func IsOn32bitArch

func IsOn32bitArch() bool

IsOn32bitArch @Description: 指示应用程序是否在32位架构上运行。 @return bool

func IsOn64bitArch

func IsOn64bitArch() bool

IsOn64bitArch @Description: 指示应用程序是否在64位架构上运行。 @return bool

func IsOnLinux

func IsOnLinux() bool

IsOnLinux @Description: 指示应用程序是否在Linux上运行。 @return bool

func IsOnMacOS

func IsOnMacOS() bool

IsOnMacOS @Description: 指示应用程序是否在macOS上运行。 @return bool

func IsOnWindows

func IsOnWindows() bool

IsOnWindows @Description: 指示应用程序是否在Windows上运行。 @return bool

func JoinPath

func JoinPath(elem ...string) string

JoinPath @Description: 将任意数量的路径元素连接成一个路径,必要时添加分隔符。 @param: elem @return string

func MakeDir

func MakeDir(path string) (err error)

MakeDir @Description: MakeDir创建一个名为path的目录,该目录具有0755个权限位,以及所有必要的父目录。 权限位表示所有者可以读、写和执行,其他所有人都可以读和执行,但不能修改。 如果路径已经是一个目录,MakeDir什么也不做,返回nil @param: path @return err

func MoveDir

func MoveDir(src, dest string) (err error)

MoveDir @Description: 递归地将目录移动到目标目录。目录中的符号链接将不会被跟踪。 如果目标是一个存在的文件,它将被源目录取代。 如果目标目录是一个已经存在的目录,则源目录将被移动到同名目录中。 如果目标不存在,但其父目录存在,则源目录将被移动到具有目标名称的父目录中。 如果发生任何错误,MoveDir将立即停止并返回,错误类型为*os. pathror。 @param: src @param: dest @return err

func MoveFile

func MoveFile(src, dest string) (err error)

MoveFile @Description: 将文件移动到目标文件或目录。符号链接将不会被跟踪。 如果目标文件是一个存在的文件,则目标文件将被源文件覆盖 如果目标文件是一个已经存在的目录,源文件将被移动到同名目录中。 如果目标文件不存在,但它的父目录存在,源文件将被移动到具有目标名称的父目录。 如果有错误,它的类型将是*os. pathror。 @param: src @param: dest @return err

func MoveSymlink(src, dest string) (err error)

MoveSymlink @Description: 将符号链接移动到目标文件或目录。 如果目标是一个存在的文件或链接,目标将被源链接覆盖。 如果目标是一个存在的目录,源链接将被移动到同名的目录中。 如果目标不存在,但其父目录存在,则源链接将被移动到具有目标名称的父目录。 如果有错误,它的类型将是*os. pathror。 @param: src @param: dest @return err

func NotExist

func NotExist(path string) bool

NotExist @Description: 检查给定路径是否不存在。 如果文件是符号链接,它将尝试跟随链接并检查源文件是否不存在。 @param: path @return bool

func SameDirEntries

func SameDirEntries(path1, path2 string) (same bool, err error)

SameDirEntries @Description: 检查两个目录是否具有相同的条目。除了给定的路径之外,符号链接将不会被跟随,并且仅比较链接的内容。 @Description: 如果任何文件不存在或损坏,则返回错误。 @param: path1 @param: path2 @return same @return err

func SameFileContent

func SameFileContent(path1, path2 string) (same bool, err error)

SameFileContent @Description: 检查两个给定的文件是否具有相同的内容或是否为同一文件。符号链接将被跟随。 @Description: 如果任何文件不存在或损坏,则返回错误。 @param: path1 @param: path2 @return same @return err

func SameSymlinkContent

func SameSymlinkContent(path1, path2 string) (same bool, err error)

SameSymlinkContent @Description: 检查两个符号链接是否具有相同的内容。符号链接将被跟随。 @param: path1 @param: path2 @return same @return err

Types

type FilePathInfo

type FilePathInfo struct {
	Path string
	Info os.FileInfo
}

FilePathInfo @Description: FilePathInfo描述文件或目录的路径和状态。

func ListAll

func ListAll(root string) (entries []*FilePathInfo, err error)

ListAll @Description: 返回给定目录中所有条目的列表。给定的目录不包含在列表中。 它递归搜索,但不会跟随给定路径以外的符号链接。 @param: root @return entries @return err

func ListDir

func ListDir(root string) (entries []*FilePathInfo, err error)

ListDir @Description: 返回给定目录中所有嵌套目录条目的列表。给定的目录不包含在列表中。它会递归搜索,但不会跟踪给定路径以外的符号链接。 @param: root @return entries @return err

func ListFile

func ListFile(root string) (entries []*FilePathInfo, err error)

ListFile @Description: 返回给定目录中所有文件条目的列表。给定的目录不包含在列表中。它会递归搜索,但不会跟踪给定路径以外的符号链接。 @param: root @return entries @return err

func ListMatch

func ListMatch(root string, flag int, patterns ...string) (entries []*FilePathInfo, err error)

ListMatch @Description: ListMatch返回一个目录条目的列表,该列表中的条目按词法顺序匹配目录中的任何给定模式。 指定路径以外的符号链接不会被跟踪给定的目录没有包含在列表中。 ListMatch要求模式匹配完整的文件名,而不仅仅是子字符串如果任何模式的格式不正确,则返回Errors。 支持两种模式类型: 1)在filepath.Match()中描述的通配符,这是默认值; @param: root @param: flag @param: patterns @return entries @return err

func ListSymlink(root string) (entries []*FilePathInfo, err error)

ListSymlink @Description: 返回给定目录中所有符号链接条目的列表。给定的目录不包含在列表中。它会递归搜索,但不会跟踪给定路径以外的符号链接。 @param: root @return entries @return err

type SortListByModTime

type SortListByModTime []*FilePathInfo

SortListByModTime 实现了排序基于FilePathInfo的Info.ModTime()字段的接口。

func (SortListByModTime) Len

func (t SortListByModTime) Len() int

func (SortListByModTime) Less

func (t SortListByModTime) Less(i, j int) bool

func (SortListByModTime) Swap

func (t SortListByModTime) Swap(i, j int)

type SortListByName

type SortListByName []*FilePathInfo

SortListByName 实现排序根据FilePathInfo的Info.Name()字段定义的接口。

func (SortListByName) Len

func (n SortListByName) Len() int

func (SortListByName) Less

func (n SortListByName) Less(i, j int) bool

func (SortListByName) Swap

func (n SortListByName) Swap(i, j int)

type SortListBySize

type SortListBySize []*FilePathInfo

SortListBySize 实现排序接口,基于FilePathInfo的Info.Size()字段。

func (SortListBySize) Len

func (s SortListBySize) Len() int

func (SortListBySize) Less

func (s SortListBySize) Less(i, j int) bool

func (SortListBySize) Swap

func (s SortListBySize) Swap(i, j int)

Jump to

Keyboard shortcuts

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