go 遍历获取文件夹下所有文件路径

go 遍历获取文件夹下所有文件路径

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