Documentation ¶
Index ¶
- func Copy(src, dst string) error
- func DeleteDir(p string) error
- func DeleteFile(filename string) error
- func Echo(filename, text string) error
- func EchoAdd(filename, text string, wrap bool) error
- func Exists(p string) bool
- func GetFileAbsPath(p string) string
- func GetFileBaseName(filename string) string
- func GetFileFormat(filename string) (string, error)
- func GetFileFormatName(filename string) string
- func GetFileMd5(filename string) string
- func GetFileModTime(filename string) string
- func GetFileSize(filename string) (int, string)
- func GetHumanReadableSize(size int) string
- func GetSubFIle(dir string) ([]string, error)
- func GetSubFIleFormat(dir, formatName string) ([]string, error)
- func IsDir(p string) bool
- func IsFile(p string) bool
- func Match(text, match string) (res string, err error)
- func MatchFirst(text, match string) (res string, err error)
- func MatchTail(text, match string) (res string, err error)
- func Move(src, dst string) error
- func Touch(filename string) error
- func Version() string
- func Write(filename, text string) error
- type FileErr
- type FileMan
- type FileStatus
- func (fi *FileStatus) Close()
- func (fi *FileStatus) CreateFile()
- func (fi *FileStatus) Delete()
- func (fi *FileStatus) DeleteDir()
- func (fi *FileStatus) DeleteFile()
- func (fi *FileStatus) Echo(text string)
- func (fi *FileStatus) EchoAdd(txt string, wrap bool)
- func (fi *FileStatus) Exists()
- func (fi *FileStatus) GetFileMd5() string
- func (fi *FileStatus) IsDir()
- func (fi *FileStatus) IsFile()
- func (fi *FileStatus) Mkdir(dir string, mode fs.FileMode)
- func (fi *FileStatus) Touch()
- type ReadScreen
- func (rs *ReadScreen) Column(col int, sep string) *ReadScreen
- func (rs *ReadScreen) ColumnRange(start, end int, sep string) *ReadScreen
- func (rs *ReadScreen) GetText() *ReadScreen
- func (rs *ReadScreen) Grep(match string) *ReadScreen
- func (rs *ReadScreen) Line(line int) *ReadScreen
- func (rs *ReadScreen) LineRange(start, end int) *ReadScreen
- func (rs *ReadScreen) Reset() *ReadScreen
- type Text
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Copy ¶ added in v1.3.2
Copy 函数将源文件从src路径复制到dst路径。 它使用FileMan实例来执行复制操作并处理任何可能发生的错误。 参数:
src - 源文件的路径。 dst - 目标文件的路径。
返回值:
如果复制过程中发生错误,则返回该错误;否则返回nil。
func DeleteDir ¶ added in v1.3.2
DeleteDir 删除指定路径下的目录及其内容。 参数:
p: 待删除目录的路径。
返回值:
如果删除操作成功,则返回nil;否则返回错误。
func DeleteFile ¶ added in v1.3.2
DeleteFile 删除指定的文件。
参数:
filename: 要删除的文件的名称。
返回值:
如果文件删除成功或不存在,则返回nil;否则返回错误。
func Echo ¶ added in v1.3.2
Echo 将指定的文本写入指定的文件中。 如果文件不存在,会尝试创建该文件。 参数:
filename - 要写入的文件名。 text - 要写入文件的文本内容。
返回值:
如果写入过程中发生错误,返回该错误;否则返回nil。
func EchoAdd ¶ added in v1.3.2
EchoAdd 将指定的文本内容添加到给定的文件中。 参数:
filename - 要写入的文件名。 text - 要添加到文件中的文本内容。 wrap - 决定是否在文本末尾添加换行符的布尔值。
返回:
可能发生的错误,如果没有错误,则为nil。
func Exists ¶ added in v1.3.0
Exists 检查指定路径的文件或目录是否存在。 参数:
p: 需要检查的文件或目录的路径。
返回值:
bool: 如果文件或目录存在,则返回true;否则返回false。
该函数通过调用os.Stat来获取路径的信息,如果路径不存在,则os.Stat会返回错误,从而判断路径是否存在。
func GetFileAbsPath ¶ added in v1.3.2
GetFileAbsPath 获取文件的绝对路径 参数:
p: 文件的相对路径或绝对路径
返回值:
string: 文件的绝对路径,如果获取失败则返回空字符串
此函数尝试将给定的文件路径转换为绝对路径,以便在文件系统中精确定位文件位置 如果转换过程中遇到错误,将记录错误信息并返回空字符串
func GetFileBaseName ¶ added in v1.3.2
GetFileBaseName 返回文件的基名。 该函数接受一个文件路径字符串作为参数,并返回路径中的最后一个文件名或目录名。 如果输入的文件路径为空或不包含有效的文件名,则返回空字符串。
参数:
filename (string): 文件路径字符串,例如: text/dir/1.zip
返回值:
string: 文件的基名: 1.zip
func GetFileFormat ¶ added in v1.3.0
GetFileFormat 获取文件的格式,通过读取文件内容实现,而不是文件名后缀 参数:
filename: 文件名
返回值:
string: 文件格式的扩展名 error: 错误信息,如果执行成功则为nil
func GetFileFormatName ¶ added in v1.3.3
GetFileFormatName 根据文件名获取文件格式名 参数:
filename string: 文件名
返回值:
string: 文件的格式名,如".txt"、".jpg"等,不支持多段后缀,例如: .tar.gz
func GetFileMd5 ¶ added in v1.3.2
GetFileMd5 计算并返回指定文件的MD5值。 参数:
filename - 要计算MD5值的文件名(字符串类型)。
返回值:
文件的MD5值(字符串类型)。如果文件不存在或读取失败,返回值可能为空或错误信息。
示例:
filename := "example.txt" md5Value := GetFileMd5(filename) fmt.Println(md5Value) // 输出: d41d8cd98f00b204e9800998ecf8427e
func GetFileModTime ¶ added in v1.3.1
GetFileModTime 返回指定文件的修改时间。 该函数仅关注文件的修改时间,忽略文件大小等其他信息。 参数:
filename: 需要获取修改时间的文件的路径。
返回值:
修改时间的字符串表示。
func GetFileSize ¶ added in v1.3.1
GetFileSize 返回给定文件名的文件大小。 该函数首先调用 getFileInfo 获取文件的原始大小,然后将这个大小转换为更易于人类阅读的格式。 参数:
filename - 文件名字符串。
返回值:
文件的原始大小(以字节为单位)。 文件大小的易读表示形式,例如 "1.5MB"。
func GetHumanReadableSize ¶ added in v1.3.1
GetHumanReadableSize 将文件大小转换为人类可读的格式。 参数 size 是文件的大小,以字节为单位。 返回值是一个字符串,表示转换后的大小,带有适当的单位(B, KB, MB, GB, TB)。
func GetSubFIle ¶ added in v1.3.0
GetSubFIle 获取指定目录下的所有文件路径 参数:
dir: 需要遍历的目录路径
返回值:
[]string: 文件路径列表 error: 如果发生错误,则返回错误信息
func GetSubFIleFormat ¶ added in v1.3.0
GetSubFIleFormat 获取指定目录下具有特定格式的文件列表。
参数:
dir: 目录路径,例如 "D:/code/gitee/go/public"
formatName: 文件格式名称,例如 ".txt"
返回值:
[]string: 符合指定格式的文件路径列表,例如 ["D:/code/gitee/go/public/file1.txt", "D:/code/gitee/go/public/file2.txt"]
error: 如果发生错误,返回相应的错误对象;否则返回 nil
func IsFile ¶ added in v1.3.0
IsFile 判断给定路径是否指向一个文件。 如果路径不存在或指向的是一个目录,则返回false。 参数:
p: 待检查的路径。
返回值:
bool: 如果路径指向的是一个文件,则返回true;否则返回false。
func Match ¶ added in v1.2.2
Match 函数执行模糊匹配。 它接受两个字符串参数:text 是待搜索的文本,match 是匹配模式。 函数返回一个字符串 res,表示匹配的结果,以及一个错误 err,如果匹配过程中发生错误则不为 nil。
func MatchFirst ¶ added in v1.2.2
MatchFirst 尝试在给定文本中匹配指定字符串开头的单词。 参数text是搜索的文本,match是需要匹配的字符串。 返回匹配到的单词(如果有的话)和可能出现的错误。 此函数使用正则表达式来实现匹配,特别地,它匹配以match开始且后面跟随零个或多个非空白字符的单词。
func MatchTail ¶ added in v1.2.2
MatchTail 使用正则表达式在文本中匹配以特定字符串结尾的内容 参数:
text - 需要进行匹配的文本 match - 要匹配的结尾字符串
返回值:
res - 匹配到的结果字符串 err - 错误信息,如果匹配过程中发生错误
func Move ¶ added in v1.3.2
Move 函数将文件从一个路径移动到另一个路径。 参数:
- src: 源文件的路径,例如:"path/to/source/file.txt"
- dst: 目标文件的路径,例如:"path/to/destination/file.txt"
返回值:
- 如果移动操作成功,返回nil。
- 如果移动操作失败,返回相应的错误信息。
Types ¶
type FileErr ¶ added in v1.2.13
type FileErr struct { FileIsNotExists error // 文件不存在: 当尝试访问或操作一个不存在的文件时返回的错误。 PathIsFile error // 这个路径是一个文件: 当路径指向一个文件而非目录时返回的错误。 PathIsdir error // 这个路径是一个文件夹: 当路径指向一个目录而非文件时返回的错误。 }
FileErr 结构体用于定义与文件操作相关的错误。 它封装了三种常见的文件错误情况,使得错误处理更加具体和方便。
type FileMan ¶ added in v1.3.0
type FileMan struct { PathAbs string // 操作对象绝对路径 PathBase string // 操作对象基础文件名 PathFormat string // 操作对象文件格式 Src string // 源文件 SrcAbs string // 源文件绝对路径 SrcBase string // 源文件基础文件名 SrcFormat string // 源文件格式 Dst string // 目标文件 DstAbs string // 目标文件绝对路径 DstBase string // 目标文件基础文件名 DstFormat string // 目标文件格式 Err error // 错误 // contains filtered or unexported fields }
FileMan 结构体用于管理文件操作的相关信息。 它包含了源文件和目标文件的路径、文件名、格式等信息,以及操作过程中可能出现的错误和文件句柄。
func NewFileMan ¶ added in v1.2.7
NewFileMan 创建并初始化一个新的 FileMan 实例,用于管理文件的复制,移动,删除
该函数接收两个字符串参数:
src 和 dst,分别代表源文件路径和目标文件路径。
type FileStatus ¶ added in v1.3.0
type FileStatus struct { Success bool // 是否操作成功 AbsPath string // 文件绝对路径 FileName string // 需要操作的文件名 FileList []string // 文件列表 DirList []string // 文件夹列表 Err error // 错误信息(读写操作错误的信息) Text string // 最终字符串信息(例如文本读取信息) IsDirs bool // 是否属于文件夹 IsFiles bool // 是否属于文件 ExIst bool // 是否存在对象 Perm fs.FileMode // 文件所属权限 FileErr *FileErr // 文件错误 // contains filtered or unexported fields }
FileStatus 结构体用于表示文件操作的状态和相关信息。
func NewFile ¶ added in v1.1.3
func NewFile(filename string) *FileStatus
NewFile 创建并初始化一个ApiFileStatus实例,用于表示文件状态。 参数 filename: 指定文件的名称。 返回值: 返回一个指向ApiFileStatus结构的指针,该结构包含了文件的各种状态信息。
func (*FileStatus) Close ¶ added in v1.3.0
func (fi *FileStatus) Close()
Close is a method of the FileStatus type, used to close a file that may be open. This method checks if there is an open file handle, and if so, attempts to close it. After successfully closing, it sets the file handle to nil to indicate that the file is closed.
func (*FileStatus) CreateFile ¶ added in v1.3.0
func (fi *FileStatus) CreateFile()
CreateFile 创建文件 如果文件不存在,该方法会创建一个新文件
func (*FileStatus) Delete ¶ added in v1.3.0
func (fi *FileStatus) Delete()
Delete 方法用于删除 FileStatus 实例所代表的文件。 如果文件存在,则调用底层删除逻辑进行删除;如果文件不存在,则记录相关信息日志。
func (*FileStatus) DeleteDir ¶ added in v1.3.0
func (fi *FileStatus) DeleteDir()
DeleteDir 删除目录 该方法用于删除ApiFileStatus实例所指向的目录 首先检查目录是否存在,如果存在且确实是一个目录,则进行删除操作 如果目录不存在,或者存在但不是一个目录,则记录相应的错误信息
func (*FileStatus) DeleteFile ¶ added in v1.3.0
func (fi *FileStatus) DeleteFile()
DeleteFile 尝试删除一个文件。 首先检查文件是否存在,然后确认其是否为文件类型,最后执行删除操作。
func (*FileStatus) Echo ¶ added in v1.3.0
func (fi *FileStatus) Echo(text string)
Echo 写入文件,当文件已存在则覆盖,当文件不存在则创建,默认权限: 0644
该方法首先检查文件是否存在,如果存在且没有错误,则删除文件。 最后,打印给定的文本。
func (*FileStatus) EchoAdd ¶ added in v1.3.0
func (fi *FileStatus) EchoAdd(txt string, wrap bool)
EchoAdd 写入文本到文件中,当文件已存在则追加,当文件不存在则创建,默认权限: 0644 参数:
text - 要添加的文本字符串。 wrap - 布尔值,决定是否在文本末尾添加换行符。
func (*FileStatus) Exists ¶ added in v1.3.0
func (fi *FileStatus) Exists()
Exists 检查文件是否存在于文件系统中。 该方法通过调用 os.Stat 来获取文件信息,如果文件存在,则更新 ExIst 标志为 true。 如果文件不存在或出现其他错误,ExIst 标志保持为 false,并且错误信息会被存储在 Err 属性中。
func (*FileStatus) GetFileMd5 ¶ added in v1.3.0
func (fi *FileStatus) GetFileMd5() string
GetFileMd5 计算并返回文件的MD5哈希值。 此方法首先确认当前对象是否为文件,然后尝试打开文件并计算其MD5哈希值。 如果在任一阶段遇到错误,方法将记录错误信息并返回空字符串。
func (*FileStatus) IsDir ¶ added in v1.3.0
func (fi *FileStatus) IsDir()
IsDir 检查文件状态并设置 IsDirs 字段以指示文件是否为目录。 此方法主要用于确定 FileStatus 实例所引用的文件或目录是否为目录。
func (*FileStatus) IsFile ¶ added in v1.3.0
func (fi *FileStatus) IsFile()
IsFile 判断指定的文件状态是否为文件。 该方法通过文件名获取文件信息,并更新 FileStatus 结构体的属性, 以指示文件是否为目录或普通文件,同时记录可能的错误。
func (*FileStatus) Mkdir ¶ added in v1.3.0
func (fi *FileStatus) Mkdir(dir string, mode fs.FileMode)
Mkdir 创建一个目录及其所有父目录,如果目录已存在或涉及的文件名已存在且为目录,则不执行创建操作 参数:
dir: 需要创建的目录路径 mode: 新创建目录的权限模式
func (*FileStatus) Touch ¶ added in v1.3.0
func (fi *FileStatus) Touch()
Touch 检查文件是否存在,如果不存在则创建它 这个方法主要用于确认文件是否存在,如果不存在则创建一个新文件,不会返回任何数据
type ReadScreen ¶
type ReadScreen struct { Text string // Text用于存储字符串内容 Err error // Err用于存储错误信息 FileName string // FileName用于存储需要操作的文件名 Slice []string // Slice用于存储切片 // contains filtered or unexported fields }
ReadScreen 是一个用于API读取屏幕操作的结构体
func NewReadFile ¶ added in v1.1.3
func NewReadFile(filename string) *ReadScreen
NewReadFile 创建并初始化一个ApiReadScreen对象用于读取指定的文件。 参数 filename 指定要读取的文件名。 返回值是一个指向ApiReadScreen对象的指针,该对象的FileName字段被设置为传入的filename。
func (*ReadScreen) Column ¶ added in v1.1.0
func (rs *ReadScreen) Column(col int, sep string) *ReadScreen
Column 读取指定列, 首列: 1
func (*ReadScreen) ColumnRange ¶ added in v1.1.0
func (rs *ReadScreen) ColumnRange(start, end int, sep string) *ReadScreen
ColumnRange 读取指定范围列, 首列: 1
func (*ReadScreen) GetText ¶ added in v1.1.1
func (rs *ReadScreen) GetText() *ReadScreen
GetText 读取文件内容并存储到ApiReadScreen实例中。 该方法读取FileName指定的文件内容,将其转换为字符串并赋值给Text字段。 如果文件读取过程中发生错误,Err字段将被设置为相应的错误信息。 返回值始终为rs本身,以便进行错误检查或链式调用。
func (*ReadScreen) Grep ¶ added in v1.2.2
func (rs *ReadScreen) Grep(match string) *ReadScreen
Grep 通过关键词筛选所有匹配行 它通过调用 Match 函数来实现文本的匹配,并根据匹配结果更新 rs.Text 和 rs.Err。 之后,它将匹配到的文本按行分割成字符串切片,并移除其中的空行,然后返回 rs。
func (*ReadScreen) LineRange ¶ added in v1.1.0
func (rs *ReadScreen) LineRange(start, end int) *ReadScreen
LineRange 读取指定范围行, 首行: 1
func (*ReadScreen) Reset ¶ added in v1.3.0
func (rs *ReadScreen) Reset() *ReadScreen
Reset 重置 ReadScreen 实例的文本状态 该方法将 Text 和 han.Text 字段恢复到 textOld 的状态 主要用于在需要时将屏幕读取 API 的文本显示重置到初始或先前保存的状态 返回值是重置后的 *ReadScreen 实例,允许进行链式调用或进一步操作
type Text ¶ added in v1.3.0
type Text struct { Text string // Text 用于存储处理后的文本内容 Slice []string // Slice 用于存储处理后的文本切片内容 Err error // Err 用于存储在文本处理过程中可能发生的错误信息 GrepErr error // GrepErr 用于存储在筛选文本过程中可能发生的错误信息 ColErr error // ColErr 用于存储在截取文本列时可能发生的错误信息 LineErr error // LineErr 用于存储与行处理相关的错误信息 // contains filtered or unexported fields }
Text 是一个用于文本处理的结构体
func NewHandle ¶ added in v1.2.2
NewHandle 创建并返回一个新的Handle实例,用于处理字符串 该函数接收一个字符串参数text,该参数用于初始化Handle实例的Text和texts字段。 返回值是一个指向Handle实例的指针,其Text和texts字段都被设置为传入的text值。
func (*Text) Column ¶ added in v1.3.0
Column 提取文本中的指定列数据 col 指定要提取的列数,sep 指定列之间的分隔符 该方法会根据给定的列数和分隔符对文本进行分割,并提取相应的列数据
func (*Text) ColumnNull ¶ added in v1.3.0
ColumnNull 通过切割所有空白符进行列数据截取(\t, \n, \v, \f, \r, ’ ‘, U+0085 (NEL), U+00A0 (NBSP) )
参数
col: 指定要提取的列数,从1开始计数
返回值:
*Text 返回处理后的数据对象
func (*Text) ColumnRange ¶ added in v1.3.0
ColumnRange 截取文本中指定列范围的内容,首列: 1
参数
start: 开始列数(从1开始计数) end: 结束列数(包含该列) sep: 列之间的分隔符
返回
*Text: 返回处理后的文本对象
该方法首先会根据start和end参数检查截取范围是否有效,如果无效则设置错误信息并返回 之后遍历文本的每一行,对每一行按照sep进行分割,并根据start和end参数截取相应的列 如果某一行的列数少于end指定的列数,则会记录警告信息并跳过该行 最后将截取到的内容重新组合成文本,并更新对象的Text属性
func (*Text) Line ¶ added in v1.3.0
Line 读取指定行,首行: 1 该方法接收一个整数参数 line,表示目标行号。 如果 line 参数小于或等于0,当前行号将被重置为1。 如果 line 参数大于文件的实际行数,将设置一个错误并返回。 该方法返回 *Text 类型的指针,便于链式调用。