一、获取当前目录下的文件或目录信息(不包含多级子目录)
func main() {
pwd,_ := os.Getwd()
//获取文件或目录相关信息
fileInfoList,err := ioutil.ReadDir(pwd)
if err != nil {
log.Fatal(err)
}
fmt.Println(len(fileInfoList))
for i := range fileInfoList {
fmt.Println(fileInfoList[i].Name()) //打印当前文件或目录下的文件或目录名
}
}
二、获取当前目录下的文件或目录名(不包含多级子目录)
package main
import (
"os"
"io/ioutil"
"log"
"fmt"
"path/filepath"
)
func main() {
pwd,_ := os.Getwd()
//获取当前目录下的文件或目录名(包含路径)
filepathNames,err := filepath.Glob(filepath.Join(pwd,"*"))
if err != nil {
log.Fatal(err)
}
for i := range filepathNames {
fmt.Println(filepathNames[i]) //打印path
}
}
三、获取当前文件或目录下的所有文件或目录信息(包括子目录)
package main
import (
"os"
"io/ioutil"
"log"
"fmt"
"path/filepath"
)
func main() {
pwd,_ := os.Getwd()
//获取当前目录下的所有文件或目录信息
filepath.Walk(pwd,func(path string, info os.FileInfo, err error) error{
fmt.Println(path) //打印path信息
fmt.Println(info.Name()) //打印文件或目录名
return nil
})
}
本文详细介绍使用Go语言进行文件系统操作的方法,包括获取当前目录下文件或目录信息,读取目录名,以及递归遍历子目录。通过具体代码示例,读者可以学习如何利用Go标准库中的os, ioutil, log, fmt和path/filepath包实现文件系统的遍历。
3941

被折叠的 条评论
为什么被折叠?



