golang遍历uploaddir文件夹下所有的文件包裹二级子文件
夹,使用filepath.Walk函数可以实现该功能。
示例代码:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
root := "upload.dir"
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
// 如果是二级子文件夹,打印路径并跳过该文件夹下的遍历
if filepath.Dir(path) != root && filepath.Dir(filepath.Dir(path)) == root {
fmt.Println("二级子文件夹:", path)
return filepath.SkipDir
}
// 如果是根目录或一级子文件夹,继续遍历
return nil
}
// 如果是文件,打印路径
fmt.Println("文件:", path)
return nil
})
if err != nil {
fmt.Println(err)
}
}
在上述示例代码中,程序通过调用filepath.Walk函数遍历upload.dir文件夹下的所有文件和文件夹。对于每个文件夹,程序判断其是否为二级子文件夹,如果是,则打印其路径并跳过该文件夹下的遍历;如果不是,则继续遍历该文件夹下的内容。对于每个文件,程序打印其路径。如果遍历过程中出现错误,程序会返回该错误
原文地址: https://www.cveoy.top/t/topic/hhRK 著作权归作者所有。请勿转载和采集!