go 遍历获取文件夹下所有文件路径
代码实现
//获取文件夹下所有的文件
func TPFuncReadDirFiles(dir string) ([]string, error) {
var files []string
//方法一
var walkFunc= func(path string, info os.FileInfo, err error) error {
if !info.IsDir() {
files=append(files,path)
}
//fmt.Printf("%s\n", path)
return nil
}
err := filepath.Walk(dir, walkFunc)
return files,err
//方法二 ,递归
//fileInfos, err := ioutil.ReadDir(dir)
//if err != nil {
// return nil, err
//}
//
//for _, f := range fileInfos {
// if f.IsDir() {
// dirFiles, err := TPFuncReadDirFiles(path.Join(dir, f.Name()))
// if err==nil {
// files=append(files,dirFiles...)
// }
// continue
// }
// files = append(files, path.Join(dir, f.Name()))
//}
//return files, err
}
func main(){
//------ 获取文件夹/目录下所有文件
files, _ := base.TPFuncReadDirFiles("attachment/unidoc")
fmt.Printf("%+v\n", files)
fmt.Println("---------------------------")
}
网友评论