Golang怎么实现文件夹的创建与删除

2024-03-14

本文小编为大家详细介绍“Golang怎么实现文件夹的创建与删除”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang怎么实现文件夹的创建与删除”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创建文件夹

创建文件夹的时候往往要先判断文件夹是否存在。

样例代码如下

package main
 
import (
	"bufio"
	"fmt"
	"io"
	"os"
)
 
//判断文件夹是否存在
func HasDir(path string) (bool, error) {
	_, _err := os.Stat(path)
	if _err == nil {
		return true, nil
	}
	if os.IsNotExist(_err) {
		return false, nil
	}
	return false, _err
}
 
//创建文件夹
func CreateDir(path string) {
	_exist, _err := HasDir(path)
	if _err != nil {
		fmt.Printf("获取文件夹异常 -> %v\n", _err)
		return
	}
	if _exist {
		fmt.Println("文件夹已存在!")
	} else {
		err := os.Mkdir(path, os.ModePerm)
		if err != nil {
			fmt.Printf("创建目录异常 -> %v\n", err)
		} else {
			fmt.Println("创建成功!")
		}
	}
}
 
func main() {
	CreateDir("./output")
}

执行结果

创建成功!

Process finished with the exit code 0

注意

1、其中os.ModePerm主要是对创建文件夹的授权,了解linux的会比较熟悉。

其中 ModePerm FileMode = 0777,也就是最高权限,可读可写可执行。

也可以直接使用os.FileMode(644).String()。

删除文件和文件夹

使用os.Remove方法来删除文件,使用os.RemoveAll方法来删除文件夹。

可以看一下RemoveAll的内部实现,整体上就是遍历和递归操作。

样例代码如下

//删除文件
func RemoveFile(path string) error {
	_err := os.Remove(path)
	return _err
}
 
//删除文件夹
func RemoveDir(path string) error {
	_err := os.RemoveAll(path)
	return _err
}

读到这里,这篇“Golang怎么实现文件夹的创建与删除”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注本站行业资讯频道。

《Golang怎么实现文件夹的创建与删除.doc》

下载本文的Word格式文档,以方便收藏与打印。