Golang文件及文件夹操作

文件夹及文件相关使用方法

// 判断文件、文件夹是否存在
func PathExists(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 Mkdir() {
	dir := "log"
	// 创建文件夹
	exist, err := PathExists(dir)
	if err != nil {
		fmt.Println(err.Error())
	} else {
		if exist {
			fmt.Println(dir + "文件夹已存在!")
		} else {
			// 文件夹名称,权限
			err := os.Mkdir(dir, os.ModePerm)
			if err != nil{
				fmt.Println(dir + "文件夹创建失败:", err.Error())
			} else {
				fmt.Println(dir + "文件夹创建成功!")
			}
		}
	}
}

func RemoveDir() {
	// 删除文件
	dir := "log"
	exist, err := PathExists(dir)
	if err != nil {
		fmt.Println(err.Error())
	} else {
		if exist {
			// os.RemoveAll 是遍历删除,文件夹及文件均可使用
			err := os.RemoveAll(dir)
			if err != nil {
				fmt.Println(dir + "删除失败:", err.Error())
			} else {
				fmt.Println(dir + "删除成功!")
			}
		} else {
			fmt.Println(dir + "文件、文件夹不存在!")
		}
	}
}

// WriteFile
func WriteFile(filename string, s string) error {
	return ioutil.WriteFile(filename, []byte(s), os.ModePerm)
}

// Write
func Write(filename string, s string) (err error) {
	f, err := os.OpenFile(filename ,os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm)
	if err != nil {
		return
	}
	defer f.Close()
	_, err = f.Write([]byte(s))
	return
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值