You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
912 B
49 lines
912 B
package files
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// 判断给定的文件路径是否存在
|
|
func IsExist(path string) bool {
|
|
_, err := os.Stat(path)
|
|
if err == nil {
|
|
return true
|
|
}
|
|
if os.IsNotExist(err) {
|
|
return false
|
|
}
|
|
return false
|
|
}
|
|
|
|
// 判断给定的路径是否是文件夹
|
|
func IsDir(path string) bool {
|
|
if stat, err := os.Stat(path); err == nil {
|
|
return stat.IsDir()
|
|
}
|
|
return false
|
|
}
|
|
|
|
// 给定的文件不存在则创建
|
|
func CreateFileIfNecessary(path string) bool {
|
|
_, err := os.Stat(path)
|
|
if err != nil && os.IsNotExist(err) {
|
|
if file, err := os.Create(path); err == nil {
|
|
file.Close()
|
|
}
|
|
}
|
|
exist := IsExist(path)
|
|
return exist
|
|
}
|
|
|
|
// 给定的目录不存在则创建
|
|
func MkdirIfNecessary(path string) error {
|
|
_, err := os.Stat(path)
|
|
if err != nil && os.IsNotExist(err) {
|
|
if err := os.MkdirAll(path, os.ModePerm); err != nil {
|
|
// os.Chmod(path, 0777)
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|