12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package pathutils
- import (
- "io"
- "os"
- "path/filepath"
- "strings"
- )
- func GetCurrentDirectory() (string, error) {
- dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
- return strings.Replace(dir, "\\", "/", -1), err
- }
- 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 CopyFile(dstName, srcName string) (written int64, err error) {
- src, err := os.Open(srcName)
- if err != nil {
- return 0, err
- }
- fi, err := os.Stat(srcName)
- if err != nil {
- return 0, err
- }
- perm := fi.Mode()
- defer src.Close()
- dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, perm)
- if err != nil {
- return 0, err
- }
- defer dst.Close()
- return io.Copy(dst, src)
- }
- func MkDirIfNotExist(path string, perm os.FileMode) error {
- if r, err := PathExists(path); (!r) || (err != nil) {
- if err := os.MkdirAll(path, perm); err != nil {
- return err
- }
- }
- return nil
- }
|