bfile

package
v0.0.0-...-b3f7bda Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Separator = string(filepath.Separator)

	DefaultPermOpen = os.FileMode(0666)

	DefaultPermCopy = os.FileMode(0777)
)
View Source
const (
	// Exactly one of O_RDONLY, O_WRONLY, or O_RDWR must be specified.
	O_RDONLY int = os.O_RDONLY // open the file read-only.
	O_WRONLY int = os.O_WRONLY // open the file write-only.
	O_RDWR   int = os.O_RDWR   // open the file read-write.
	// The remaining values may be or'ed in to control behavior.
	O_APPEND int = os.O_APPEND // append data to the file when writing.
	O_CREATE int = os.O_CREATE // create a new file if none exists.
	O_EXCL   int = os.O_EXCL   // used with O_CREATE, file must not exist.
	O_SYNC   int = os.O_SYNC   // open for synchronous I/O.
	O_TRUNC  int = os.O_TRUNC  // truncate regular writable file when opened.
)

Variables

View Source
var (
	// 默认读取缓冲区大小
	DefaultReadBuffer = 1024
)

Functions

func Abs

func Abs(path string) string

Abs

@Description: 使用filepath的ABS API,返回路径的绝对路径
@param path:  路径
@return string 路径的绝对路径

func AppendBytes

func AppendBytes(path string, content []byte) error

AppendBytes

@Description: 以字节形式写入文件。如果文件不存在将会递归的形式自动创建
@param path 文件所在的路径
@param content 字节数组
@return error

func AppendContents

func AppendContents(path string, content string) error

AppendContents

@Description: 以字符串形式写入文件,使用追加的方式。如果文件不存在将会递归的形式自动创建
@param path 文件所在的路径
@param content 字节数组
@return error

func Basename

func Basename(path string) string

Basename

@Description: 返回路径的最后一个元素,包含文件扩展名,如果path为空则返回.
@param path 路径
@return string 返回路径的最后一个元素,包含文件扩展名

func Chdir

func Chdir(dir string) (err error)

Chdir

@Description: 更改当前的工作路径
@param dir
@return err

func Chmod

func Chmod(path string, mode os.FileMode) (err error)

Chmod

@Description: 修改权限
@param path
@param mode
@return err

func Copy

func Copy(src string, dst string) error

Copy

@Description: 拷贝文件和目录
@param src
@param dst
@return error

func CopyDir

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

CopyDir

@Description: 拷贝目录
@param src
@param dst
@return err

func CopyFile

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

CopyFile

@Description: 拷贝文件
@param src
@param dst
@return err

func Create

func Create(path string) (*os.File, error)

Create

@Description: 创建文件,如果文件所在路径不存在,则会自动创建文件夹及文件,其权限为0666(任何人都可读写,不可执行)如果创建的文件已存在则会清空该文件的内容。
@param path: 文件路径
@return *os.File 文件指针
@return error

func Dir

func Dir(path string) string

Dir

@Description:
@param path 路径
@return string 给定路径的目录部分

func DirSubs

func DirSubs(path string) ([]string, error)

DirSubs

@Description: 获取文件夹下所有文件和文件夹,非递归
@param path
@return []string path下的文件和文件夹列表
@return error

func Exists

func Exists(path string) bool

Exists

@Description: 判断路径是否存在
@param path 文件或者目录的路径
@return bool 如果文件或目录存在则返回true,否则返回false

func Ext

func Ext(path string) string

Ext

@Description: 获取给定路径的扩展名,包含.
@param path 路径
@return string给定路径的扩展名,包含.

func ExtName

func ExtName(path string) string

ExtName

@Description: 获取给定路径的扩展名,不包含.
@param path 路径
@return string 给定路径的扩展名

func FormatSize

func FormatSize(raw int64) string

FormatSize

@Description: 将size转化成可读的文件大小
@param raw
@return string

func GetBytes

func GetBytes(path string) []byte

GetBytes

@Description: 读取文件的内容
@param path 文件路径
@return []byte 文件内容

func GetBytesByRange

func GetBytesByRange(reader io.ReaderAt, start int64, end int64) []byte

GetBytesByRange

@Description: 读取指定区间的文件字节内容,左闭右开
@param reader 文件接口
@param start 起始偏移量
@param end  终止偏移量
@return []byte

func GetBytesByRangesByPath

func GetBytesByRangesByPath(path string, start int64, end int64) []byte

GetBytesByRangesByPath

@Description: 读取指定区间的文件字节内容,左闭右开
@param path 文件路径
@param start 起始偏移量
@param end  终止偏移量
@return []byte

func GetBytesTilChar

func GetBytesTilChar(reader io.ReaderAt, start int64, char byte) ([]byte, int64)

GetBytesTilChar

@Description: 从文件中截取start到char字符位置的文件内容,以字节形式返回
@param reader 文件接口
@param start 起始位置
@param char 字符
@return []byte
@return int64 返回的字节数组数量

func GetBytesTilCharByPath

func GetBytesTilCharByPath(path string, start int64, char byte) ([]byte, int64)

GetBytesTilCharByPath

@Description: 从文件中截取start到char字符位置的文件内容,以字节形式返回
@param path 文件路径
@param start 起始位置
@param char 字符
@return []byte
@return int64 返回的字节数组数量

func GetCharFromOffset

func GetCharFromOffset(reader io.ReaderAt, char byte, start int64) int64

GetCharFromOffset

@Description: 从某个偏移量开始,获取文件中指定字符所在下标
@param reader 文件接口
@param char 要查找的字符
@param start 偏移量
@return int64 如果找到返回序号,如果找不到则返回-1

func GetCharOffsetFromByPath

func GetCharOffsetFromByPath(path string, char byte, start int64) int64

GetCharOffsetFromByPath

@Description: 从某个偏移量开始,获取文件中指定字符所在下标
@param path 文件路径
@param char 要查找的字符
@param start 偏移量
@return int64 如果找到返回序号,如果找不到则返回-1

func GetContents

func GetContents(path string) string

GetContents

@Description: 读取文件的内容,并将其转为字符串
@param path 文件路径
@return string 文件内容

func Glob

func Glob(pattern string, onlyNames ...bool) ([]string, error)

Glob

@Description: 模糊搜索给定路径下的文件列表,支持正则,第二个参数控制返回的结果是否带上绝对路径。
@param pattern
@param onlyNames 是否带上
@return []string
@return error

func Home

func Home(names ...string) (string, error)

Home

@Description: 获取当前的Home目录
@param names
@return string
@return error

func IsBinary

func IsBinary(path string) bool

IsBinary

@Description: 判断文件是否是二进制类型
@param path 文件路径
@return bool true - 文件为二进制类型

func IsDir

func IsDir(path string) bool

IsDir

@Description: 判断路径是否是目录
@param path
@return bool 当路径为目录时返回true,否则返回false

func IsEmpty

func IsEmpty(path string) bool

IsEmpty

@Description: 判断文件或者目录是否为空
@param path
@return bool 如果文件或目录为空将会返回true,否则返回false

func IsFile

func IsFile(path string) bool

IsFile

@Description: 判断路径是否是文件
@param path
@return bool 当路径为文件时返回true,否则返回false

func IsReadable

func IsReadable(path string) bool

IsReadable

@Description: 判断文件/目录是否可读
@param path
@return bool

func IsWritable

func IsWritable(path string) bool

IsWritable

@Description: 判断文件或目录是否可写
@param path
@return bool

func Join

func Join(paths ...string) string

Join

@Description: 将多个字符串路径通过/进行拼接,windows为\
@param paths: 路径字符串
@return string 拼接后的字符串路径

func MTime

func MTime(path string) time.Time

MTime

@Description: 获取文件的修改时间,返回时间类型
@param path
@return time.Time

func MTimestamp

func MTimestamp(path string) int64

MTimestamp

@Description: 获取文件的修改时间,返回unix时间类型,即int64
@param path
@return int64

func MTimestampMilli

func MTimestampMilli(path string) int64

MTimestampMilli

@Description: 获取文件的修改时间毫秒级别,返回unix时间类型,即int64
@param path
@return int64

func Mkdir

func Mkdir(path string) (err error)

Mkdir

@Description: 递归创建目录
@param path 路径,建议使用绝对路径,不推荐使用相对路径
@return err 如果创建失败会返回错误的原因,否则返回nil

func Move

func Move(src string, dst string) (err error)

Move

@Description: 將文件src移动到dst
@param src
@param dst
@return err

func Name

func Name(path string) string

Name

@Description: 返回当前程序名,不包含扩展名
@param path 路径
@return string 返回当前程序名,不包含扩展名

func Open

func Open(path string) (*os.File, error)

Open

@Description: 以只读的方式打开文件
@param path
@return *os.File
@return error

func OpenFile

func OpenFile(path string, flag int, perm os.FileMode) (*os.File, error)

OpenFile

@Description: 以指定的flag和perm打开文件
@param path
@param flag O_RDONLY、O_WRONLY、O_RDWR、O_APPEND、O_CREATE、O_EXCL、O_SYNC、O_TRUNC
@param perm 0666、0777
@return *os.File
@return error

func Pwd

func Pwd() string

Pwd

@Description: 获取当前的工作目录
@return string

func ReadLines

func ReadLines(file string, callback func(text string) error) error

ReadLines

@Description: 以字符串的形式逐行读取文件内容
@param file 文件名
@param callback
@return error

func ReadLinesBytes

func ReadLinesBytes(file string, callback func(bytes []byte) error) error

ReadLinesBytes

@Description:以字节形式逐行读取文件内容
@param file
@param callback
@return error

func ReadableSize

func ReadableSize(path string) string

ReadableSize

@Description: 获取路径大小,并格式化
@param path
@return string

func RealPath

func RealPath(path string) string

RealPath

@Description: 返回绝对路径
@param path 文件或者目录的路径
@return string 如果文件/目录存在则返回绝对路径,否则返回空字符串

func Remove

func Remove(path string) (err error)

Remove

@Description: 删除给定的文件或文件夹
@param path 给定文件或文件夹的路径
@return err

func Rename

func Rename(src string, dst string) error

Rename

@Description: 将文件/文件夹src重命名为dst
@param src
@param dst
@return error

func ReplaceDir

func ReplaceDir(search, replace, path, pattern string, recursive ...bool) error

ReplaceDir

@Description: 扫描文件路径,将符合条件的文件的指定内容替换为新内容

@param search 匹配的内容

@param replace 需要替代的字符串

@param path 文件路径

@param pattern 匹配的文件名

@param recursive 是否递归

@return error

func ReplaceDirFunc

func ReplaceDirFunc(f func(path, content string) string, path, pattern string, recursive ...bool) error

ReplaceDirFunc

@Description: 扫描指定目录,使用自定义函数替换符合条件的文件的指定内容为新内容

@param f

@param path 文件路径

@param pattern 匹配的文件名

@param recursive 是否递归

@return error

func ReplaceFile

func ReplaceFile(search, replace, path string) error

ReplaceFile

@Description: 替换文件search的内容为replace
@param search
@param replace
@param path
@return error

func ReplaceFileFunc

func ReplaceFileFunc(f func(path, content string) string, path string) error

ReplaceFileFunc

@Description: 使用自定义的函数替换文件内容

@param f

@param path

@return error

func ScanDir

func ScanDir(path string, pattern string, recursive ...bool) ([]string, error)

ScanDir

 @Description: 扫描指定目录或文件,支持递归扫描
 @param path
 @param pattern 支持多个匹配,可以使用,分割,其匹配语法
	term:
		'*'         匹配0或多个非路径分隔符的字符
		'?'         匹配1个非路径分割符的字符
		'[' [ '^' ] { character-range } ']'
		           字符组,必须非空
		c          匹配字符,字符不能是*、?、\\、[
		'\\' c     匹配字符,支持*、?、\\、[

	 character-range:
		c           匹配字符,字符不能是\\、-、]
		'\\' c      匹配字符
		lo '-' hi   匹配区间[lo,hi]的字符
 匹配要求匹配整个name字符串,而不是它的一部分。
 @param recursive true递归扫描,false不进行递归扫描
 @return []string
 @return error

func ScanDirFile

func ScanDirFile(path string, pattern string, recursive ...bool) ([]string, error)

ScanDirFile

 @Description: 扫描指定目录的文件,支持递归扫描
 @param path
 @param pattern 支持多个匹配,可以使用,分割,其匹配语法
	term:
		'*'         匹配0或多个非路径分隔符的字符
		'?'         匹配1个非路径分割符的字符
		'[' [ '^' ] { character-range } ']'
		           字符组,必须非空
		c          匹配字符,字符不能是*、?、\\、[
		'\\' c     匹配字符,支持*、?、\\、[

	character-range:
		c           匹配字符,字符不能是\\、-、]
		'\\' c      匹配字符
		lo '-' hi   匹配区间[lo,hi]的字符
 匹配要求匹配整个name字符串,而不是它的一部分。
 @param recursive true递归扫描,false不进行递归扫描
 @param handler 自定义方法,每次搜索到文件或者目录将会调用此方法,如果返回的字符串为空此路径将会被过滤掉
 @return []string
 @return error

func ScanDirFileFunc

func ScanDirFileFunc(path string, pattern string, recursive bool, handler func(path string) string) ([]string, error)

ScanDirFileFunc

 @Description: 扫描指定目录的文件,支持递归扫描
 @param path
 @param pattern 支持多个匹配,可以使用,分割,其匹配语法
	term:
		'*'         匹配0或多个非路径分隔符的字符
		'?'         匹配1个非路径分割符的字符
		'[' [ '^' ] { character-range } ']'
		           字符组,必须非空
		c          匹配字符,字符不能是*、?、\\、[
		'\\' c     匹配字符,支持*、?、\\、[

	character-range:
		c           匹配字符,字符不能是\\、-、]
		'\\' c      匹配字符
		lo '-' hi   匹配区间[lo,hi]的字符
 匹配要求匹配整个name字符串,而不是它的一部分。
 @param recursive true递归扫描,false不进行递归扫描
 @return []string
 @return error

func ScanDirFunc

func ScanDirFunc(path string, pattern string, recursive bool, handler func(path string) string) ([]string, error)

ScanDirFunc

 @Description: 扫描指定目录或文件,支持递归扫描
 @param path
 @param pattern 支持多个匹配,可以使用,分割,其匹配语法
	term:
		'*'         匹配0或多个非路径分隔符的字符
		'?'         匹配1个非路径分割符的字符
		'[' [ '^' ] { character-range } ']'
		           字符组,必须非空
		c          匹配字符,字符不能是*、?、\\、[
		'\\' c     匹配字符,支持*、?、\\、[

	character-range:
		c           匹配字符,字符不能是\\、-、]
		'\\' c      匹配字符
		lo '-' hi   匹配区间[lo,hi]的字符

匹配要求匹配整个name字符串,而不是它的一部分。

@param recursive true递归扫描,false不进行递归扫描
@param handler 自定义方法,每次搜索到文件或者目录将会调用此方法,如果返回的字符串为空此路径将会被过滤掉
@return []string
@return error

func SelfDir

func SelfDir() string

SelfDir

@Description: 获取当前程序所在的目录
@return string 当前程序所在的目录

func SelfName

func SelfName() string

SelfName

@Description: 获取当前运行程序的名称
@return string 当前运行程序的名称

func SelfPath

func SelfPath() string

SelfPath

@Description: 获取当前运行程序的路径,包含程序名
@return string 当前运行程序的路径

func SetBytes

func SetBytes(path string, content []byte) error

SetBytes

@Description: 以字节形式写入文件。如果文件不存在将会递归的形式自动创建,如果文件有内容会被清空
@param path 文件所在的路径
@param content 字节数组
@return error

func SetContents

func SetContents(path string, content string) error

SetContents

@Description: 往指定路径文件添加字符串内容。如果文件不存在将会递归的形式自动创建,如果文件有内容会被清空
@param path 文件所在的路径
@param content 要写入文件的内容
@return error

func Size

func Size(path string) int64

Size

@Description:  获取路径的大小,不格式化
@param path
@return int64

func SizeFormat

func SizeFormat(path string) string

SizeFormat

@Description: 获取路径大小,并格式化
@param path
@return string

func Stat

func Stat(path string) (os.FileInfo, error)

Stat

@Description: 获取文件信息
@param path
@return os.FileInfo
@return error

func StrToSize

func StrToSize(sizeStr string) int64

StrToSize

@Description: 将文件大小字符串转成int64
@param sizeStr
@return int64

func Truncate

func Truncate(path string, size int) (err error)

Truncate

@Description: 将文件裁剪为指定大小
@param path 文件路径
@param size 截取的文件大小
@return err

Types

This section is empty.

Jump to

Keyboard shortcuts

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