file.go 800 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package file
  2. import (
  3. "os"
  4. "path/filepath"
  5. )
  6. func FileExist(filename string) bool {
  7. _, err := os.Stat(filename)
  8. return err == nil || os.IsExist(err)
  9. }
  10. func GetFilfAbsPath(fileName string) (string, error) {
  11. return filepath.Abs(fileName)
  12. }
  13. func WriteFile(saveFilePath string, body []byte) error {
  14. dir := filepath.Dir(saveFilePath)
  15. e := mkdir(dir)
  16. if e != nil {
  17. return e
  18. }
  19. file, err := os.OpenFile(saveFilePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.ModePerm)
  20. if err != nil {
  21. return err
  22. }
  23. defer file.Close()
  24. _, err = file.Write(body)
  25. if err != nil {
  26. return err
  27. }
  28. return nil
  29. }
  30. func mkdir(dir string) error {
  31. if _, err := os.Stat(dir); err != nil {
  32. if os.IsNotExist(err) {
  33. err := os.MkdirAll(dir, os.ModePerm)
  34. if err != nil {
  35. return err
  36. }
  37. }
  38. }
  39. return nil
  40. }