1. 检查是否为文件夹
func main() {filename := "F:\\goworkspace\\caixukun\\a.txt"if info, err := os.Stat(filename); err == nil {fmt.Println("是否是文件夹: " + strconv.FormatBool(info.IsDir()))}}
2. 创建文件夹
func main() {filename := "F:\\goworkspace\\caixukun\\zz"os.MkdirAll(filename, 0777)}
- 有了文件夹,就不会重复创建, 不影响原来路径下的内容
- 路径上的父级文件夹没被创建, 就会自动创建
3. 遍历文件夹中所有文件(不进入下一级)
func main() {directory := "F:\\goworkspace\\caixukun"dirEntries, _ := os.ReadDir(directory)for _, entry := range dirEntries {fmt.Println(entry.Info()) //文件信息}}
执行效果:
4. 遍历指定路径及其子目录中的所有文件
func main() {directory := "F:\\goworkspace\\caixukun"processor := func(path string, info fs.FileInfo, err error) error {fmt.Printf("info: %v\n", info)return nil}filepath.Walk(directory, processor)}
5. 删除文件或空文件夹
func main() {directory := "F:\\goworkspace\\caixukun\\zz"if err := os.Remove(directory); err != nil {fmt.Printf("err: %v\n", err)}}
6. 递归删除整个文件夹
func main() {directory := "F:\\goworkspace\\caixukun\\zz"if err := os.RemoveAll(directory); err != nil {fmt.Printf("err: %v\n", err)}}
