今天来讲一个Go语言操作文件的问题,即如何遍历一个文件夹下的所有文件。
代码如下
package main import ( "path/filepath" "os" "fmt" "flag" ) func getFilelist(path string) { err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error { if f == nil { return err } if f.IsDir() { return nil } println(path) return nil }) if err != nil { fmt.Printf("filepath.Walk() returned %v\n", err) } } func main(){ flag.Parse() root := flag.Arg(0) getFilelist(root) }
然后对如下package文件夹遍历
接下来执行go run filewalk.go package,得到的结果如下
这样的就得到了一个文件夹下面所有的子文件,然后就可以通过os.Open()打开并读写了。
原文:http://blog.csdn.net/achelloworld/article/details/43973421