Golang中目录连接符为os.PathSeparator
,支持跨平台应用,可以使用他来拼接文件路径,也可以使用filepath.Join(dir, file.Name())
来链接文件路径。
1 判断文件夹
func IsDir(path string) bool {
s, err := os.Stat(path)
if err != nil {
return false
}
return s.IsDir()
}
2 遍历文件夹
使用ioutil.ReadDir遍历目录
func GetChildDirs(dir string) []string {
files, err := ioutil.ReadDir(dir)
if err != nil {
panic(err)
}
var dirs []string
for _, file := range files {
if file.IsDir() {
dirs = append(dirs, file.Name())
}
}
return dirs
}
3 读取文件
//读取文件ReadFile 1
func IoUtilRead2() {
_text, _err := ioutil.ReadFile("./test.txt")
fmt.Println(_err)
fmt.Println(string(_text))
}
//读取文件ReadFile 2
func IoUtilRead1(f string) {
_file, _e := os.Open(f)
if _e != nil {
fmt.Println(_e)
return
}
defer _file.Close()
_text, _err := ioutil.ReadAll(_file)
fmt.Println(_err)
fmt.Println(string(_text))
}
4 写文件
//写文件
func IoUtilWriteFile() {
_err := ioutil.WriteFile("./test.txt", []byte("今天天气真好"), os.ModePerm)
fmt.Println(_err)
}