package file import ( "errors" "os" "path/filepath" ) func WriteFile(filename string, content []byte) error { path := filepath.Dir(filename) if !IsDir(path) { err := os.Mkdir(path, os.ModeDir) if err != nil { return err } } dstFile, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC, 0777) if err != nil { return err } _, err = dstFile.Write(content) return err } // Exists 判断所给路径文件/文件夹是否存在 func Exists(path string) bool { _, err := os.Stat(path) //os.Stat获取文件信息 if err != nil { if os.IsExist(err) { return true } return false } return true } // IsDir 判断所给路径是否为文件夹 func IsDir(path string) bool { s, err := os.Stat(path) if err != nil { return false } return s.IsDir() } // IsFile 判断所给路径是否为文件 func IsFile(path string) bool { return !IsDir(path) } func ReadFile(filename string) (content []byte, err error) { if !Exists(filename) { return nil, errors.New("file not exist") } return os.ReadFile(filename) }