ThatManK Mobile Article
Go基础_1_66 ioutil 遍历目录
package main
import (
"fmt"
"io/ioutil"
"log"
)
func listFiles(dirname string, level int) {
// level用来记录当前递归的层次,生成带有层次感的空格
s := "|--"
for i := 0; i < level; i++ {
s = "| " + s
}
fileInfos, err := ioutil.ReadDir(dirname)
if err != nil {
log.Fatal(err)
}
for _, fi := range fileInfos {
filename := dirname + "\\" + fi.Name()
fmt.Printf("%s%s\n", s, filename)
if fi.IsDir() {
//递归调用方法
listFiles(filename, level+1)
}
}
/*
|--D:\Go\web2\aa.txt
|--D:\Go\web2\bb.txt
|--D:\Go\web2\demo.go
|--D:\Go\web2\dir1
| |--D:\Go\web2\dir1\Test1927239612
| | |--D:\Go\web2\dir1\Test1927239612\text.txt1079166724
| |--D:\Go\web2\dir1\a.txt
| |--D:\Go\web2\dir1\b.tct
|--D:\Go\web2\test.png
|--D:\Go\web2\user.db
*/
}
func main() {
/**
遍历文件夹:
*/
dirname := "D:\\Go\\web2"
listFiles(dirname, 0)
}