浏览器
一个用于在文件系统或网络中进行文件/io/bytes处理/解析的实用程序库:
- 这些功能对于一个非服务器/本地运行的应用程序来说是非常常见的。虽然看起来相当容易,但几乎所有的边缘情况都需要细心地处理。
- 使用一个库包而不是自定义段,可以节省多余的测试/调试。
特征列表
- 为给定路径生成解析树
- 分别列出文件/文件夹
- 分别获取隐藏的文件/文件夹
- 保留目录和文件的嵌套顺序
- 控制递归级别
- 通过自定义函数来过滤掉文件和目录
- 包括StdIn,如果有效的话
- 编码
- json到
- 文件
- yaml
- yaml到
- json
- 文件
- 文件来
- json
- yaml
- json到
- IO操作
- 复制多个文件到单个文件
- 克隆文件
- 传递一个回调,在文件的每一行上执行。
- bash
dirname&basedir函数
如何使用
使用列表器
tree := list.Read(&[]string{"."}, 2)
//tree.SkipHiddenDirs = true
e := tree.UpdateFiles()
tree.UpdateStdinStatus()
if e != nil {
log.Fatal(e)
}
log.Println(tree.IsNestedDir)
使用阅读器
for _,path := range tree.FilePaths{
if strings.HasSuffix(path,"html") || strings.HasSuffix(path,"htm"){
err := reader.CloneFile(path, path+".bak")
if err != nil {
fmt.Println(err)
return
}
err = reader.CopyContent(path, "envoy/css.ht", path+".bak")
if err != nil {
fmt.Println(err)
return
}
err = os.Remove(path+".bak")
if err != nil {
fmt.Println(err)
return
}
}
}