Documentation ¶
Overview ¶
gfile 包提供了易于使用的文件系统操作。 md5:51d18e994a768bb4
Index ¶
- Constants
- Variables
- func X写入字节集(路径 string, 字节集 []byte) error
- func X写入文本(路径 string, 文本 string) error
- func X创建文件与目录(文件路径 string) (*os.File, error)
- func X创建目录(目录 string) (错误 error)
- func X删除(路径或文件夹 string) (错误 error)
- func X取main目录() string
- func X取临时目录(子目录或子文件 ...string) string
- func X取修改时间(路径 string) time.Time
- func X取修改时间戳毫秒(路径 string) int64
- func X取修改时间戳秒(路径 string) int64
- func X取大小(路径 string) int64
- func X取大小并易读格式(路径 string) string
- func X取字符偏移位置(reader io.ReaderAt, 待查找字符 byte, 查找起点 int64) int64
- func X取字节集按字符位置(reader io.ReaderAt, 待查找字符 byte, 查找起点 int64) ([]byte, int64)
- func X取字节集按范围(reader io.ReaderAt, 起点 int64, 终点 int64) []byte
- func X取当前工作目录() string
- func X取当前进程名() string
- func X取当前进程目录() string
- func X取当前进程路径() string
- func X取扩展名(路径 string) string
- func X取扩展名且不含点号(路径 string) string
- func X取文件列表(路径 string) ([]string, error)
- func X取文件名(路径 string) string
- func X取文件名且不含扩展名(路径 string) string
- func X取文件字符偏移位置(路径 string, 待查找字符 byte, 查找起点 int64) int64
- func X取文件字节集按字符位置(路径 string, 待查找字符 byte, 查找起点 int64) ([]byte, int64)
- func X取文件字节集按范围(路径 string, 起点 int64, 终点 int64) []byte
- func X取父目录(路径 string) string
- func X取用户目录(可选子目录或子文件 ...string) (string, error)
- func X取绝对路径(路径 string) string
- func X取绝对路径且效验(路径 string) string
- func X取详情(路径 string) (os.FileInfo, error)
- func X复制(文件或目录路径 string, 复制到 string, 选项 ...X结构_复制选项) error
- func X复制文件(路径, 复制到 string, 选项 ...X结构_复制选项) (错误 error)
- func X复制目录(目录路径 string, 复制到 string, 选项 ...X结构_复制选项) (错误 error)
- func X子文本替换(欲被替换的子文本, 用作替换的子文本, 文件路径 string) error
- func X子文本替换_函数(回调函数 func(文件路径, content string) string, 文件路径 string) error
- func X字节长度转易读格式(文件大小 int64) string
- func X弃用_OpenWithFlagPerm(path string, flag int, perm os.FileMode) (*os.File, error)
- func X弃用_ReadableSize(路径 string) string
- func X弃用_Rename(src string, dst string) error
- func X截断(路径 string, 长度 int) (错误 error)
- func X打开(路径 string, 读写模式 int, 权限模式 os.FileMode) (*os.File, error)
- func X打开并按只读模式(路径 string) (*os.File, error)
- func X打开并按默认权限(路径 string, 读写模式 int) (*os.File, error)
- func X排序(文件数组 []string) []string
- func X易读格式转字节长度(大小文本 string) int64
- func X是否为空(路径 string) bool
- func X是否可写(路径 string) bool
- func X是否可读(路径 string) bool
- func X是否存在(路径 string) bool
- func X是否存在文件(路径 string) bool
- func X是否存在目录(路径 string) bool
- func X更改权限(路径 string, 权限模式 os.FileMode) (错误 error)
- func X枚举(目录 string, 匹配模式 string, 是否递归查找 ...bool) ([]string, error)
- func X枚举_函数(目录 string, 匹配模式 string, 是否递归查找 bool, ...) ([]string, error)
- func X枚举文件与目录(目录 string, 匹配模式 string, 是否递归枚举 ...bool) ([]string, error)
- func X枚举文件与目录_函数(目录 string, 匹配模式 string, 是否递归枚举 bool, ...) ([]string, error)
- func X查找(文件名 string, 优先级查找路径 ...string) (路径 string, 错误 error)
- func X模糊查找(路径 string, 返回绝对路径 ...bool) ([]string, error)
- func X目录子文本替换(...) error
- func X目录子文本替换_函数(回调函数 func(目录, content string) string, 目录, 匹配模式 string, ...) error
- func X移动(路径 string, 新路径 string) (错误 error)
- func X缓存读字节集(路径 string, 缓存时长 ...time.Duration) []byte
- func X缓存读文本(路径 string, 缓存时长 ...time.Duration) string
- func X设置当前工作目录(目录 string) (错误 error)
- func X读字节集(路径 string) []byte
- func X读文本(路径 string) string
- func X路径生成(路径s ...string) string
- func X追加字节集(路径 string, 字节集 []byte) error
- func X追加文本(路径 string, 文本 string) error
- func X逐行读字节集_函数(文件路径 string, 回调函数 func(字节集 []byte) error) error
- func X逐行读文本_函数(文件路径 string, 回调函数 func(文本 string) error) error
- type X结构_复制选项
Constants ¶
const ( // 文件系统分隔符。 // 这里将分隔符定义为变量, // 以便开发人员在必要时进行修改。 // md5:ec0b6e47ec28478f X常量_文件_系统分隔符 = string(filepath.Separator) // X常量_文件_打开默认权限 是文件打开的默认权限。 md5:dc57341030d46a11 X常量_文件_打开默认权限 = os.FileMode(0666) // X常量_文件_复制默认权限 是用于文件/文件夹复制的默认权限。 md5:fdef6c133c375aa4 X常量_文件_复制默认权限 = os.FileMode(0755) )
Variables ¶
var (
// DefaultReadBuffer 是用于读取文件内容的缓冲区大小。 md5:ff60c55c31212953
DefaultReadBuffer = 1024
)
Functions ¶
func X写入字节集 ¶
X写入字节集 将二进制 `content` 存储到 `path` 对应的文件中。 如果文件 `path` 不存在,它会递归创建文件。 md5:3ac1025ef9039ab7
func X删除 ¶
X删除 删除具有`path`参数的所有文件/目录。 如果参数`path`是一个目录,它会递归地删除该目录。
如果给定的`path`不存在或为空,它不做任何操作。 md5:ae9ec60d038f0ebd
func X取main目录 ¶
func X取main目录() string
X取main目录 返回包含入口函数main的package main的绝对文件目录。
它仅在开发环境中可用。
注意1:仅对源代码开发环境有效, 即仅对生成此可执行文件的系统有效。
注意2:首次调用此方法时,如果处于异步goroutine中, 方法可能无法获取到main包的路径。 md5:7fb1d2fdcb626f85
func X取临时目录 ¶
X取临时目录获取并返回当前系统的临时目录。
可选参数`子目录或子文件`指定了要与当前系统分隔符连接的子文件夹/子文件,将与路径一起返回。 md5:8db9471945246517
func X取字节集按字符位置 ¶
X取字节集按字符位置 读取文件内容,直到遇到指定的字节`char`位置,然后返回该位置之前的所有内容作为[]byte。
注意:返回值包含最后一个位置的字符。 md5:d7db409d8f51ccd8
func X取字节集按范围 ¶
X取字节集按范围 从`start`到`end`返回二进制内容作为[]byte。 注意:返回的值不包含最后一个位置的字符,意味着它返回的内容范围是[start, end)。 md5:fb50a5776f6863f6
func X取当前工作目录 ¶
func X取当前工作目录() string
X取当前工作目录 返回当前工作目录的绝对路径。 注意,如果获取当前工作目录失败,它将返回一个空字符串。 md5:90f41f1bfdd61dba
func X取扩展名 ¶
X取扩展名 返回路径使用的文件名扩展名。 扩展名是路径最后一个元素中从最后一个点开始的后缀; 如果没有点,则扩展名为空。 注意:结果包含符号'.'。
示例: X取扩展名("main.go") => .go X取扩展名("api.json") => .json md5:63a13ee69ce09cec
func X取扩展名且不含点号 ¶
X取扩展名且不含点号 类似于函数 Ext,它返回路径中使用的文件扩展名, 但结果不包含符号'.'。
示例: X取扩展名且不含点号("main.go") => "go" X取扩展名且不含点号("api.json") => "json" md5:d508af455375f787
func X取文件名 ¶
X取文件名 返回路径中的最后一个元素,该元素包含文件扩展名。 在提取最后一个元素之前,会移除尾随的路径分隔符。 如果路径为空,Base 返回 "."。 如果路径完全由分隔符组成,X取文件名 返回一个单个的分隔符。
示例: X取文件名("/var/www/file.js") -> file.js X取文件名("file.js") -> file.js md5:0601675e20751381
func X取文件名且不含扩展名 ¶
X取文件名且不含扩展名 返回路径中不包含文件扩展名的最后一个元素。
示例: X取文件名且不含扩展名("/var/www/file.js") -> file X取文件名且不含扩展名("file.js") -> file md5:231670418efd9216
func X取文件字符偏移位置 ¶
X取文件字符偏移位置 从`start`开始,返回给定`char`对应的文件偏移量。 它使用os.O_RDONLY标志和默认权限打开`path`文件进行读取。 md5:c328b89cddf1bd1d
func X取文件字节集按字符位置 ¶
X取文件字节集按字符位置 根据给定的`path`返回文件内容,直到遇到下一个指定的字节`char`位置为止。 它使用 os.O_RDONLY 标志和默认权限以只读方式打开`path`指定的文件。
注意:返回的值包含最后一个位置的字符。 md5:aefddbb30f37dff7
func X取文件字节集按范围 ¶
X取文件字节集按范围 通过"path"从`start`到`end`获取二进制内容并返回为[]byte。 注意:返回值不包含最后一个位置的字符,意味着它返回的内容范围是[start, end)。 它使用os.O_RDONLY标志和默认权限打开`path`文件进行读取。 md5:26e574b11f4b1e0f
func X取父目录 ¶
X取父目录 函数返回 path 中除最后一个元素之外的所有内容,通常为路径的目录。在丢弃最后一个元素后,X取父目录 对路径调用 Clean 函数,并移除尾随的斜杠。 如果 `path` 为空,X取父目录 返回"."。 如果 `path` 为".",X取父目录 将路径视为当前工作目录。 如果 `path` 仅由分隔符组成,X取父目录 返回一个单独的分隔符。 返回的路径除非是根目录,否则不会以分隔符结尾。
示例: X取父目录("/var/www/file.js") -> "/var/www" X取父目录("file.js") -> "." md5:03710913db229986
func X取用户目录 ¶
X取用户目录 返回当前用户主目录的绝对路径。 可选参数 `names` 指定了要与当前系统分隔符连接的子文件夹/子文件,将与路径一起返回。 md5:0b575ba0215ebb2d
func X取绝对路径 ¶
X取绝对路径返回一个路径的绝对表示。 如果路径不是绝对路径,它将与当前工作目录连接起来,使其成为一个绝对路径。对于给定的文件,其绝对路径名称并不保证是唯一的。 X取绝对路径会调用Clean方法处理结果。 md5:4cb8146c59de22da
func X复制 ¶
将源`src`文件/目录复制到目标`dst`。
如果`src`是文件,它会调用CopyFile来实现复制功能, 否则,它会调用CopyDir。
如果`src`是文件,但`dst`已经存在并且是一个文件夹, 那么它会在`dst`文件夹中创建一个与`src`同名的文件。
例如: X复制("/tmp/file1", "/tmp/file2") => 将/tmp/file1复制到/tmp/file2 X复制("/tmp/dir1", "/tmp/dir2") => 将/tmp/dir1复制到/tmp/dir2 X复制("/tmp/file1", "/tmp/dir2") => 将/tmp/file1复制到/tmp/dir2/file1 X复制("/tmp/dir1", "/tmp/file2") => 出错 md5:51c6598025f6b135
func X复制文件 ¶
X复制文件 将名为 `src` 的文件的内容复制到由 `dst` 指定的文件中。如果目标文件不存在,它将被创建。如果目标文件已存在,其所有内容将被源文件的内容替换。文件权限将从源文件复制,并且复制的数据会被同步/刷新到稳定的存储中。 谢谢:https://gist.github.com/r0l1/92462b38df26839a3ca324697c8cba04 md5:e2fc3c25ff06fa5b
func X字节长度转易读格式 ¶
X字节长度转易读格式 将大小 `raw` 格式化为更易读的形式。 md5:7b0eb2b4570b5bb2
func X弃用_OpenWithFlagPerm ¶
X弃用_OpenWithFlagPerm 使用自定义的 `flag` 和 `perm` 来打开文件/目录。 参数 `flag` 例如:O_RDONLY, O_RDWR, O_RDWR|O_CREATE|O_TRUNC 等。 参数 `perm` 例如:0600, 0666, 0777 等。 md5:1f44c05cc68654d8
func X弃用_ReadableSize ¶
X弃用_ReadableSize 格式化给定路径(`path`)的文件大小,使其更易于人类阅读。 md5:04f6ed7d21e25298
func X弃用_Rename ¶
X弃用_Rename 是 Move 的别名。 参考 Move。 md5:f235456881c23527
func X打开 ¶
X打开 用自定义的 `flag` 和 `perm` 打开文件或目录。参数 `flag` 类似于:O_RDONLY(只读),O_RDWR(读写),O_RDWR|O_CREATE|O_TRUNC 等。 md5:0cef38d8408ed250
func X打开并按默认权限 ¶
X打开并按默认权限 使用默认权限和自定义`flag`打开文件/目录。默认的`perm`为0666。 参数`flag`类似于:O_RDONLY(只读),O_RDWR(读写),O_RDWR|O_CREATE|O_TRUNC(读写并创建或截断),等等。 md5:2e77d9a0acc43298
func X易读格式转字节长度 ¶
X易读格式转字节长度 将格式化后的尺寸字符串转换为字节大小。 md5:b40fff33ad10f088
func X是否为空 ¶
X是否为空 检查给定的 `path` 是否为空。 如果 `path` 是一个文件夹,它会检查其下是否存在任何文件。 如果 `path` 是一个文件,它会检查文件大小是否为零。
注意,如果 `path` 不存在,它将返回 true。 md5:1b96bff377b05eac
func X枚举 ¶
X枚举 返回给定 `path` 所有子文件的绝对路径, 如果 `recursive` 参数为真,它会递归扫描目录。
`pattern` 参数支持多个文件名模式,使用逗号 `,` 来分隔多个模式。
注意,它只返回文件,不包括目录。 md5:1d9c6ada055eaa05
func X枚举_函数 ¶
X枚举_函数 返回给定 `path` 的所有子文件的绝对路径, 如果参数 `recursive` 为 true,则会递归扫描目录。
`pattern` 参数支持多个文件名模式,使用逗号(',') 分隔多个模式。
参数 `recursive` 指定是否递归扫描 `path`,即如果子文件也是一个文件夹,它将把子文件路径添加到结果数组中。默认情况下为 false。
参数 `handler` 指定处理 `path` 和其子文件夹每个子文件路径的回调函数。如果 `handler` 返回空字符串,那么忽略该子文件路径;否则,将子文件路径添加到结果切片中。
注意,`handler` 中的参数 `path` 不是目录,而是文件。它只返回文件,不包括目录。 md5:036965ff87c95b63
func X枚举文件与目录 ¶
X枚举文件与目录 返回给定`path`下的所有子文件的绝对路径, 如果给定的参数`recursive`为true,则递归扫描目录。
模式参数`pattern`支持多个文件名模式, 使用`,`符号分隔多个模式。 md5:1f662f1008f0113e
func X枚举文件与目录_函数 ¶
func X枚举文件与目录_函数(目录 string, 匹配模式 string, 是否递归枚举 bool, 回调函数 func(目录 string) string) ([]string, error)
X枚举文件与目录_函数 返回给定`path`下的所有子文件的绝对路径。 如果参数`recursive`为真,它将递归扫描目录。
参数`pattern`支持多个文件名模式,使用逗号分隔多个模式。
参数`recursive`指定是否递归扫描`path`。默认情况下,它是false,表示不递归。
参数`handler`指定了处理`path`及其子目录下每个子文件路径的回调函数。如果`handler`返回空字符串,将忽略子文件路径,否则将子文件路径添加到结果切片中。 md5:93774b4b752cee08
func X查找 ¶
X查找 通过名称 `name` 在以下路径中搜索文件,按照优先级进行:优先搜索路径(prioritySearchPaths)、当前工作目录(Pwd())、自身目录(SelfDir())和主包路径(MainPkgPath())。如果找到,则返回文件的绝对路径;如果没有找到,则返回空字符串。 md5:4251b6145a87bd38
func X模糊查找 ¶
X模糊查找 返回匹配 pattern 的所有文件名,如果没有匹配的文件,则返回 nil。pattern 的语法与 Match 中的相同。pattern 可以描述像 /usr/*/bin/ed(假设分隔符为 '/')这样的层次名称。
X模糊查找 忽略读取目录时发生的文件系统错误,如 I/O 错误。可能返回的唯一错误是 ErrBadPattern,当 pattern 格式不正确时。 md5:0baeeb8710df5d67
func X目录子文本替换 ¶
X目录子文本替换 替换给定路径下文件的内容。 参数 `pattern` 指定了需要被替换的文件模式。 如果参数 `recursive` 为真,它将递归地进行替换操作。 md5:d9b10978d6db3bce
func X目录子文本替换_函数 ¶
X目录子文本替换_函数 使用回调函数 `f` 替换路径 `path` 下的文件内容。 参数 `pattern` 指定了将被替换的文件模式。 如果 `recursive` 为 true,它会递归地进行替换。 md5:9bff4662f6d662c1
func X缓存读字节集 ¶
X缓存读字节集 通过`path`从缓存中返回给定文件的[]byte内容。 如果缓存中没有内容,它将从由`path`指定的磁盘文件中读取。 参数`expire`以秒为单位指定该文件内容的缓存时间。 md5:8b877378627c94a2
func X缓存读文本 ¶
X缓存读文本 通过`path`从缓存中返回给定文件的字符串内容。如果缓存中没有内容,它将从指定的磁盘文件(由`path`提供)中读取。参数`expire`指定了该文件内容的缓存过期时间(以秒为单位)。 md5:ee3ca4011fe59d23
func X逐行读字节集_函数 ¶
X逐行读字节集_函数 逐行读取文件内容,并将每一行作为 []byte 类型传递给回调函数 `callback`。 它会匹配以字符 '\r' 或 '\n' 分隔的每一行文本,并去除任何尾随的换行标记。
注意,传递给回调函数的参数可能是一个空值,并且即使最后一行非空行没有换行标记, 也会被传递给回调函数 `callback`。 md5:214fffa05bf19040
Types ¶
type X结构_复制选项 ¶
type X结构_复制选项 struct { // 在源文件内容复制到目标文件后,自动调用文件同步。 md5:ef1f9250b5fdabe3 Sync bool // 保留源文件的模式到目标文件。如果为true,Mode属性将没有意义。 // md5:681b0704991c814c PreserveMode bool // 创建目标文件的模式。 // 如果PreserveMode为false,默认的文件模式是DefaultPermCopy。 // md5:e495278ff0787785 Mode os.FileMode }
X结构_复制选项 是 Copy* 函数的选项。 md5:1863c87f867e036e