目录

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("---------------------------")
}