Golang检查、创建和清空目录

在Golang中,操作文件系统非常便捷。本教程将带你学习如何使用os.Statos.Mkdiros.RemoveAll函数来检查目录是否存在、创建目录以及清空目录。

1. 检查目录是否存在

使用os.Stat函数可以获取文件或目录的信息。如果返回的错误类型为os.IsNotExist,则表示目录不存在。

package main

import (
	'fmt'
	'os'
)

func main() {
	dirPath := 'path/to/directory'

	_, err := os.Stat(dirPath)
	if os.IsNotExist(err) {
		fmt.Println('目录不存在:', dirPath)
	} else {
		fmt.Println('目录已存在:', dirPath)
	}
}

2. 创建目录

使用os.Mkdir函数可以创建目录。os.ModePerm参数用于设置目录权限。

package main

import (
	'fmt'
	'os'
)

func main() {
	dirPath := 'path/to/directory'

	err := os.Mkdir(dirPath, os.ModePerm)
	if err != nil {
		fmt.Println('创建目录失败:', err)
		return
	}
	fmt.Println('目录创建成功:', dirPath)
}

3. 清空目录

使用os.RemoveAll函数可以删除目录及其所有子目录和文件。

package main

import (
	'fmt'
	'os'
)

func main() {
	dirPath := 'path/to/directory'

	err := os.RemoveAll(dirPath)
	if err != nil {
		fmt.Println('清空目录失败:', err)
		return
	}
	fmt.Println('目录已清空:', dirPath)
}

示例代码:

package main

import (
	'fmt'
	'os'
)

func main() {
	dirPath := 'path/to/directory'

	// 判断目录是否存在
	_, err := os.Stat(dirPath)
	if os.IsNotExist(err) {
		// 目录不存在,创建目录
		err := os.Mkdir(dirPath, os.ModePerm)
		if err != nil {
			fmt.Println('创建目录失败:', err)
			return
		}
		fmt.Println('目录创建成功')
	} else {
		// 目录存在,清空目录
		err := os.RemoveAll(dirPath)
		if err != nil {
			fmt.Println('清空目录失败:', err)
			return
		}
		fmt.Println('目录已清空')
	}
}

将上述示例代码中的dirPath替换为你想要操作的目录路径即可。

Golang检查、创建和清空目录教程

原文地址: https://www.cveoy.top/t/topic/fPH1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录