// 路径下有重名文件时,对文件进行重命名并返回文件绝对路径,没有重名文件直接返回文件绝对路径。
// 参数:文件目录,文件名。返回文件或重命名后的文件绝对路径。
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
}