file
实例名 | 实例描述 |
---|---|
O_APPEND | (int) 1024 |
O_CREATE | (int) 64 |
O_EXCL | (int) 128 |
O_RDONLY | (int) 0 |
O_RDWR | (int) 2 |
O_SYNC | (int) 1052672 |
O_TRUNC | (int) 512 |
O_WRONLY | (int) 1 |
SEPARATOR | (string) "/" |
函数名 | 函数描述/介绍 |
---|---|
file.Abs | Abs 返回一个路径的绝对路径 |
file.Cat | Cat 模拟 unix 命令 cat,打印文件内容到标准输出 |
file.Clean | Clean 清理路径中的多余的分隔符和 . 和 .. |
file.Cp | Cp 拷贝文件或目录,返回错误 |
file.Create | Create 创建一个文件,返回一个文件结构体引用与错误 |
file.Dir | Ls 列出一个目录下的所有文件和目录,返回一个文件信息切片 |
file.GetBase | GetBase 获取文件的基本名 |
file.GetDirPath | GetDirPath 返回路径中除最后一个元素之后的路径,这通常是原本路径的目录 |
file.GetExt | GetExt 获取文件的扩展名 |
file.IsAbs | IsAbs 判断路径是否是绝对路径 |
file.IsDir | IsDir 判断路径是否存在且是一个目录 |
file.IsExisted | IsExisted 判断文件或目录是否存在 |
file.IsFile | IsFile 判断路径是否存在且是一个文件 |
file.IsLink | IsLink 判断文件是否是一个符号链接 |
file.Join | Join 将任意数量的路径以默认路径分隔符链接在一起 |
file.Ls | Dir 列出一个目录下的所有文件和目录,返回一个文件信息切片,它是 Ls 的别名 |
file.Lstat | Lstat 返回一个文件的信息和错误,如果文件是一个符号链接,返回的是符号链接的信息 |
file.Mkdir | Mkdir 创建一个目录,返回错误 |
file.MkdirAll | MkdirAll 创建一个递归创建一个目录,返回错误 |
file.Mv | Mv 重命名一个文件或文件夹,返回错误,这个函数也会移动文件或文件夹,它是 Rename 的别名 ! 在 windows 下,无法将文件移动到不同的磁盘 |
file.NewMultiFileLineReader | NewMultiFileLineReader 创建一个多文件读取器,返回一个多文件读取器结构体引用和错误 |
file.Open | Open 打开一个文件,返回一个文件结构体引用与错误 |
file.OpenFile | OpenFile 打开一个文件,使用 file.O_CREATE ... 和权限控制,返回一个文件结构体引用与错误 |
file.ReadAll | ReadAll 从 Reader 读取直到出现错误或 EOF,然后返回字节切片与错误 |
file.ReadDirInfoInDirectory | ReadDirInfoInDirectory 读取一个目录下的所有目录信息,返回一个文件信息切片和错误 |
file.ReadFile | ReadFile 读取一个文件的所有内容,返回字节切片与错误 |
file.ReadFileInfoInDirectory | ReadFileInfoInDirectory 读取一个目录下的所有文件信息,返回一个文件信息切片和错误 |
file.ReadLines | ReadLines 尝试读取一个文件中的所有行,返回一个字符串切片,会去除BOM头和空行 |
file.ReadLinesWithCallback | ReadLinesWithCallback 尝试读取一个文件中的所有行,每读取一行,便会调用回调函数,返回错误 |
file.Remove | Remove 删除路径及其包含的所有子路径 |
file.Rename | Rename 重命名一个文件或文件夹,返回错误,这个函数也会移动文件或文件夹 ! 在 windows 下,无法将文件移动到不同的磁盘 |
file.Rm | Rm 删除路径及其包含的所有子路径,它是 Remove 的别名 |
file.Save | Save 将字符串或字节切片或字符串切片写入到文件中,如果文件不存在则创建,如果文件存在则覆盖,返回错误 |
file.SaveJson | SaveJson 将字符串或字节切片或字符串切片写入到文件中,如果文件不存在则创建,如果文件存在则覆盖,返回错误 与 Save 不同的是,如果传入的参数是其他类型,会尝试将其序列化为 json 字符再写入到文件中 |
file.Split | Split 以操作系统的默认路径分隔符分割路径,返回目录和文件名 |
file.Stat | Stat 返回一个文件的信息和错误 |
file.TailF | TailF 模拟 unix 命令 tail -f,执行这个函数会一直阻塞,打印文件内容到标准输出,如果文件有变化,会自动打印新的内容 |
file.TempFile | TempFile 创建一个临时文件,返回一个文件结构体引用与错误 |
file.TempFileName | TempFileName 创建一个临时文件,返回一个文件名与错误 |
file.Walk | Walk 遍历一个目录下的所有文件和目录,返回错误 |
#
函数定义#
Abs#
详细描述Abs 返回一个路径的绝对路径
Example:
// 假设当前目录是 /tmpfile.Abs("./test.txt") // /tmp/test.txt
#
定义Abs(i string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
Cat#
详细描述Cat 模拟 unix 命令 cat,打印文件内容到标准输出
Example:
file.Cat("/tmp/test.txt")
#
定义Cat(i string)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
Clean#
详细描述Clean 清理路径中的多余的分隔符和 . 和 ..
Example:
file.Clean("/tmp/../tmp/test.txt") // "/tmp/test.txt"
#
定义Clean(s string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
s | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
Cp#
详细描述Cp 拷贝文件或目录,返回错误
Example:
file.Cp("/tmp/test.txt", "/tmp/test2.txt")file.Cp("/tmp/test", "/root/tmp/test")
#
定义Cp(src string, dst string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
src | string | |
dst | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Create#
详细描述Create 创建一个文件,返回一个文件结构体引用与错误
Example:
f, err = file.Create("/tmp/test.txt")
#
定义Create(name string) (*_yakFile, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *_yakFile | |
r2 | error |
#
Dir#
详细描述Ls 列出一个目录下的所有文件和目录,返回一个文件信息切片
Example:
for f in file.Ls("/tmp") {println(f.Name)}
#
定义Dir(i string) []*utils.FileInfo
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*utils.FileInfo |
#
GetBase#
详细描述GetBase 获取文件的基本名
Example:
file.GetBase("/tmp/test.txt") // "test.txt"
#
定义GetBase(s string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
s | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
GetDirPath#
详细描述GetDirPath 返回路径中除最后一个元素之后的路径,这通常是原本路径的目录
Example:
file.GetDirPath("/usr/bin/bash") // "/usr/bin/"
#
定义GetDirPath(path string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
GetExt#
详细描述GetExt 获取文件的扩展名
Example:
file.GetExt("/tmp/test.txt") // ".txt"
#
定义GetExt(s string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
s | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
IsAbs#
详细描述IsAbs 判断路径是否是绝对路径
Example:
file.IsAbs("/usr/bin/bash") // truefile.IsAbs("../../../usr/bin/bash") // false
#
定义IsAbs(path string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsDir#
详细描述IsDir 判断路径是否存在且是一个目录
Example:
// 假设存在 /usr/bin/bash 文件file.IsDir("/usr/bin") // truefile.IsDir("/usr/bin/bash") // false
#
定义IsDir(path string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsExisted#
详细描述IsExisted 判断文件或目录是否存在
Example:
file.IsExisted("/usr/bin/bash")
#
定义IsExisted(path string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsFile#
详细描述IsFile 判断路径是否存在且是一个文件
Example:
// 假设存在 /usr/bin/bash 文件file.IsFile("/usr/bin/bash") // truefile.IsFile("/usr/bin") // false
#
定义IsFile(path string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
IsLink#
详细描述IsLink 判断文件是否是一个符号链接
Example:
假设 /usr/bin/bash 是一个符号链接,指向 /bin/bashfile.IsLink("/usr/bin/bash") // truefile.IsLink("/bin/bash") // false
#
定义IsLink(file string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
file | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
Join#
详细描述Join 将任意数量的路径以默认路径分隔符链接在一起
Example:
file.Join("/usr", "bin", "bash") // "/usr/bin/bash"
#
定义Join(path ...string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
Ls#
详细描述Dir 列出一个目录下的所有文件和目录,返回一个文件信息切片,它是 Ls 的别名
Example:
for f in file.Ls("/tmp") {println(f.Name)}
#
定义Ls(i string) []*utils.FileInfo
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*utils.FileInfo |
#
Lstat#
详细描述Lstat 返回一个文件的信息和错误,如果文件是一个符号链接,返回的是符号链接的信息
Example:
info, err = file.Lstat("/tmp/test.txt")desc(info)
#
定义Lstat(name string) (os.FileInfo, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | os.FileInfo | |
r2 | error |
#
Mkdir#
详细描述Mkdir 创建一个目录,返回错误
Example:
err = file.Mkdir("/tmp/test")
#
定义Mkdir(name string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
MkdirAll#
详细描述MkdirAll 创建一个递归创建一个目录,返回错误
Example:
// 假设存在 /tmp 目录,不存在 /tmp/test 目录err = file.MkdirAll("/tmp/test/test2")
#
定义MkdirAll(name string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Mv#
详细描述Mv 重命名一个文件或文件夹,返回错误,这个函数也会移动文件或文件夹,它是 Rename 的别名
! 在 windows 下,无法将文件移动到不同的磁盘
Example:
// 假设存在 /tmp/test.txt 文件err = file.Rename("/tmp/test.txt", "/tmp/test2.txt")
#
定义Mv(oldpath string, newpath string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
oldpath | string | |
newpath | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
NewMultiFileLineReader#
详细描述NewMultiFileLineReader 创建一个多文件读取器,返回一个多文件读取器结构体引用和错误
Example:
// 假设存在 /tmp/test.txt 文件,内容为 123// 假设存在 /tmp/test2.txt 文件,内容为 456m, err = file.NewMultiFileLineReader("/tmp/test.txt", "/tmp/test2.txt")for m.Next() {println(m.Text())}
#
定义NewMultiFileLineReader(files ...string) (*mfreader.MultiFileLineReader, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
files | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *mfreader.MultiFileLineReader | |
r2 | error |
#
Open#
详细描述Open 打开一个文件,返回一个文件结构体引用与错误
Example:
f, err = file.Open("/tmp/test.txt")content, err = file.ReadAll(f)
#
定义Open(name string) (*_yakFile, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *_yakFile | |
r2 | error |
#
OpenFile#
详细描述OpenFile 打开一个文件,使用 file.O_CREATE ... 和权限控制,返回一个文件结构体引用与错误
Example:
f = file.OpenFile("/tmp/test.txt", file.O_CREATE|file.O_RDWR, 0o777)~; defer f.Close()
#
定义OpenFile(name string, flags int, mode os.FileMode) (*_yakFile, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
flags | int | |
mode | os.FileMode |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *_yakFile | |
r2 | error |
#
ReadAll#
详细描述ReadAll 从 Reader 读取直到出现错误或 EOF,然后返回字节切片与错误
Example:
f, err = file.Open("/tmp/test.txt")content, err = file.ReadAll(f)
#
定义ReadAll(r io.Reader) ([]byte, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
r | io.Reader |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []byte | |
r2 | error |
#
ReadDirInfoInDirectory#
详细描述ReadDirInfoInDirectory 读取一个目录下的所有目录信息,返回一个文件信息切片和错误
Example:
for d in file.ReadDirInfoInDirectory("/tmp")~ {println(d.Name)}
#
定义ReadDirInfoInDirectory(path string) ([]*utils.FileInfo, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*utils.FileInfo | |
r2 | error |
#
ReadFile#
详细描述ReadFile 读取一个文件的所有内容,返回字节切片与错误
Example:
content, err = file.ReadFile("/tmp/test.txt")
#
定义ReadFile(filename string) ([]byte, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
filename | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []byte | |
r2 | error |
#
ReadFileInfoInDirectory#
详细描述ReadFileInfoInDirectory 读取一个目录下的所有文件信息,返回一个文件信息切片和错误
Example:
for f in file.ReadFileInfoInDirectory("/tmp")~ {println(f.Name)}
#
定义ReadFileInfoInDirectory(path string) ([]*utils.FileInfo, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*utils.FileInfo | |
r2 | error |
#
ReadLines#
详细描述ReadLines 尝试读取一个文件中的所有行,返回一个字符串切片,会去除BOM头和空行
Example:
lines = file.ReadLines("/tmp/test.txt")
#
定义ReadLines(i any) []string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []string |
#
ReadLinesWithCallback#
详细描述ReadLinesWithCallback 尝试读取一个文件中的所有行,每读取一行,便会调用回调函数,返回错误
Example:
err = file.ReadLinesWithCallback("/tmp/test.txt", func(line) { println(line) })
#
定义ReadLinesWithCallback(i any, callback func(string)) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | any | |
callback | func(string) |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Remove#
详细描述Remove 删除路径及其包含的所有子路径
Example:
// 假设存在 /tmp/test/test.txt 文件和 /tmp/test/test2.txt 文件err = file.Remove("/tmp/test")
#
定义Remove(path string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Rename#
详细描述Rename 重命名一个文件或文件夹,返回错误,这个函数也会移动文件或文件夹
! 在 windows 下,无法将文件移动到不同的磁盘
Example:
// 假设存在 /tmp/test.txt 文件err = file.Rename("/tmp/test.txt", "/tmp/test2.txt")
#
定义Rename(oldpath string, newpath string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
oldpath | string | |
newpath | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Rm#
详细描述Rm 删除路径及其包含的所有子路径,它是 Remove 的别名
Example:
// 假设存在 /tmp/test/test.txt 文件和 /tmp/test/test2.txt 文件err = file.Remove("/tmp/test")
#
定义Rm(path string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Save#
详细描述Save 将字符串或字节切片或字符串切片写入到文件中,如果文件不存在则创建,如果文件存在则覆盖,返回错误
Example:
file.Save("/tmp/test.txt", "hello yak")
#
定义Save(fileName string, i any) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
fileName | string | |
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
SaveJson#
详细描述SaveJson 将字符串或字节切片或字符串切片写入到文件中,如果文件不存在则创建,如果文件存在则覆盖,返回错误
与 Save 不同的是,如果传入的参数是其他类型,会尝试将其序列化为 json 字符再写入到文件中
Example:
file.SaveJson("/tmp/test.txt", "hello yak")
#
定义SaveJson(name string, i any) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
Split#
详细描述Split 以操作系统的默认路径分隔符分割路径,返回目录和文件名
Example:
file.Split("/usr/bin/bash") // "/usr/bin", "bash"
#
定义Split(path string) (string, string)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
path | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string | |
r2 | string |
#
Stat#
详细描述Stat 返回一个文件的信息和错误
Example:
info, err = file.Stat("/tmp/test.txt")desc(info)
#
定义Stat(name string) (os.FileInfo, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | os.FileInfo | |
r2 | error |
#
TailF#
详细描述TailF 模拟 unix 命令 tail -f,执行这个函数会一直阻塞,打印文件内容到标准输出,如果文件有变化,会自动打印新的内容
Example:
file.TailF("/tmp/test.txt")
#
定义TailF(i string, line func(i string))
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string | |
line | func(i string) |
#
TempFile#
详细描述TempFile 创建一个临时文件,返回一个文件结构体引用与错误
Example:
f, err = file.TempFile()die(err)defer f.Close()f.WriteString("hello yak")
#
定义TempFile(dirPart ...string) (*_yakFile, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
dirPart | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *_yakFile | |
r2 | error |
#
TempFileName#
详细描述TempFileName 创建一个临时文件,返回一个文件名与错误
Example:
name, err = file.TempFileName()die(err)defer os.Remove(name)file.Save(name, "hello yak")
#
定义TempFileName() (string, error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string | |
r2 | error |
#
Walk#
详细描述Walk 遍历一个目录下的所有文件和目录,返回错误
Example:
file.Walk("/tmp", func(info) {println(info.Name); return true})~
#
定义Walk(uPath string, i func(info *utils.FileInfo) bool) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
uPath | string | |
i | func(info *utils.FileInfo) bool |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |