30 lines
480 B
Go
30 lines
480 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"io/fs"
|
|
"os"
|
|
"path"
|
|
"strings"
|
|
)
|
|
|
|
func Exists(p ...string) (bool, error) {
|
|
_, err := os.Stat(path.Join(p...))
|
|
if err == nil {
|
|
return true, nil
|
|
}
|
|
if errors.Is(err, fs.ErrNotExist) {
|
|
return false, nil
|
|
}
|
|
return false, err
|
|
}
|
|
|
|
func SplitExt(filename string) (string, string) {
|
|
ext := strings.ToUpper(path.Ext(filename))
|
|
name := strings.ToUpper(filename[:len(filename)-len(ext)])
|
|
if len(ext) > 0 {
|
|
ext = ext[1:]
|
|
}
|
|
return name, ext
|
|
}
|