介绍
这篇文章将为大家详细讲解有关利用Golang怎么获取目录下的文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
一、获取当前目录下的文件或目录信息(不包含多级子目录)
func 主要(),{ pwd, _ :=, os.Getwd () ,//获取文件或目录相关信息 ,fileInfoList err :=, ioutil.ReadDir (pwd) ,if err  !=, nil { ,log.Fatal (err) ,} ,fmt.Println (len (fileInfoList)) ,for 小姐::=,range fileInfoList { ,fmt.Println (fileInfoList[我]. name()),//打印当前文件或目录下的文件或目录名 ,} }
二,获取当前目录下的文件或目录名(不包含多级子目录)
package main import ( ,“os" ,“io/ioutil" ,“log" ,“fmt" ,“路径/filepath" ) , func main (), { pwd, _ :=, os.Getwd () , ,//获取当前目录下的文件或目录名(包含路径) ,filepathNames err :=, filepath.Glob (filepath.Join (pwd,“*“)) ,if err  !=, nil { ,log.Fatal (err) ,} , ,for 小姐::=,range filepathNames { ,fmt.Println (filepathNames[我]),//打印路径 }大敌; }
三,获取当前文件或目录下的所有文件或目录信息(包括子目录)
package main import ( ,“os" ,“io/ioutil" ,“log" ,“fmt" ,“路径/filepath" ) , func main (), { pwd, _ :=, os.Getwd (), , ,//获取当前目录下的所有文件或目录信息 ,filepath.Walk (pwd func (path 字符串,info os.FileInfo,, err 错误),错误{ ,fmt.Println(路径),//打印路径信息 ,fmt.Println (info.Name()),//打印文件或目录名 return nil ,}) }
<>强补充:Golang ioutil。ReadDir读取目录下的内容强>
ioutil中提供了一个非常翻遍的函数函数ReadDir,他读取目录并返回排好序的文件以及子目录名([]os.FileInfo)
例子:编写程序输出某目录下的所有文件。
package 主要 import ( “才能io/ioutil" “才能fmt" “才能os" ) 字符串,func listAll (path curHier int), { readerInfos 才能err :=, ioutil.ReadDir(路径) if 才能;err  !=, nil { ,,,fmt.Println (err) ,才能返回 ,,} for 才能,_,info :=, range readerInfos { ,,,if info.IsDir (), { ,,,,,for tmpheir :=, curHier;, tmpheir 在0;,tmpheir——, { ,,,,,,,fmt.Printf (“| \ t") ,,,,,} ,,,,,fmt.Println (info.Name (),“\ \”) ,,,,,listAll(时间+ path “\ \”, +, info.Name (), curHier + 1) ,,,}else { ,,,,,for tmpheir :=, curHier ; tmpheir 在0;,tmpheir——, { ,,,,,,,fmt.Printf (“| \ t") ,,,,,} ,,,,,fmt.Println (info.Name ()) ,,,} ,,} } func main (), { dir 才能;:=,os.Args [1] listAll才能(dir, 0) }
关于利用Golang怎么获取目录下的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。