path.go 944 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package ethutil
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "os/user"
  6. "strings"
  7. )
  8. func ExpandHomePath(p string) (path string) {
  9. path = p
  10. // Check in case of paths like "/something/~/something/"
  11. if path[:2] == "~/" {
  12. usr, _ := user.Current()
  13. dir := usr.HomeDir
  14. path = strings.Replace(p, "~", dir, 1)
  15. }
  16. return
  17. }
  18. func FileExist(filePath string) bool {
  19. _, err := os.Stat(filePath)
  20. if err != nil && os.IsNotExist(err) {
  21. return false
  22. }
  23. return true
  24. }
  25. func ReadAllFile(filePath string) (string, error) {
  26. file, err := os.Open(filePath)
  27. if err != nil {
  28. return "", err
  29. }
  30. data, err := ioutil.ReadAll(file)
  31. if err != nil {
  32. return "", err
  33. }
  34. return string(data), nil
  35. }
  36. func WriteFile(filePath string, content []byte) error {
  37. fh, err := os.OpenFile(filePath, os.O_TRUNC|os.O_RDWR|os.O_CREATE, os.ModePerm)
  38. if err != nil {
  39. return err
  40. }
  41. defer fh.Close()
  42. _, err = fh.Write(content)
  43. if err != nil {
  44. return err
  45. }
  46. return nil
  47. }