go语言目录下存在相同文件名时,重命名文件名

// 路径下有重名文件时,对文件进行重命名并返回文件绝对路径,没有重名文件直接返回文件绝对路径。
// 参数:文件目录,文件名。返回文件或重命名后的文件绝对路径。
func NewName(dirname, name string) string {
	nameA := dirname + name    // 绝对路径 + 文件名
	iii := 1
	for {                      // 文件名存在时,改名存储
		if !IsFileExist(nameA) {  // 文件名不存在,直接返回
			return nameA
		} else {                // 文件名存在,重命名文件名
			nameA = name
			nameA = fmt.Sprint(dirname, iii, "-", nameA)
			iii++
		}
	}
}

// 判断文件是否存在
func IsFileExist(path string) bool {
	fileInfo, err := os.Stat(path)
	if err != nil {        //文件不存在
		return false
	}
	if fileInfo.IsDir() {  //是目录
		return false
	}
	return true
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值