48 lines
756 B
Go
48 lines
756 B
Go
/*
|
|
* @Date: 2021-03-22 10:45:37
|
|
* @LastEditors: viletyy
|
|
* @LastEditTime: 2021-06-10 14:25:28
|
|
* @FilePath: /yolk/directory/directory.go
|
|
*/
|
|
package directory
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
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 IsDir(f string) bool {
|
|
fi, err := os.Stat(f)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
return fi.IsDir()
|
|
}
|
|
|
|
func CreateDir(dirs ...string) (err error) {
|
|
for _, v := range dirs {
|
|
exist, err := PathExists(v)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if !exist {
|
|
err = os.MkdirAll(v, os.ModePerm)
|
|
if err != nil {
|
|
return fmt.Errorf("create directory: %v", v)
|
|
}
|
|
}
|
|
}
|
|
return err
|
|
}
|