123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- // Author : Eric Kim
- // Build Date : 23 Jul 2018 Last Update 02 Aug 2018
- // End-Agent for Passcon Multi OS go binding with Windows, MacOS, iOS, and Android
- // All rights are reserved.
- package etc
- import (
- "fmt"
- "io"
- "io/ioutil"
- "net/http"
- "os"
- )
- func MkdirIfNotExists(folderPath string) error {
- // Check if the folder already exists
- _, err := os.Stat(folderPath)
- if os.IsNotExist(err) {
- err := os.MkdirAll(folderPath, 0755) // 0755 is the permission mode
- if err != nil {
- return LogErr("3ffae3rfe", "Error creating folder:", err)
- }
- } else if err != nil {
- return LogErr("3ffae3rfe", "Unexpected Error :", err)
- } else {
- //fmt.Println("Folder already exists.")
- }
- return nil
- }
- // 코드가 엉망이라 전체 정비해야됨
- func StrToFile(path string, str string) error {
- if file, err := os.Create(path); err != nil {
- MyErr("FDADFADSFA", err, true)
- return err
- } else {
- file.Close()
- }
- var file, err3 = os.OpenFile(path, os.O_RDWR, 0644)
- if err3 != nil {
- fmt.Println(err3)
- return err3
- }
- defer file.Close()
- // Write some text line-by-line to file.
- _, err3 = file.WriteString(str)
- if err3 != nil {
- fmt.Println(err3)
- return err3
- }
- // Save file changes.
- err3 = file.Sync()
- if err3 != nil {
- return err3
- }
- // os.RemoveAll(jsonreceive)
- // err := ioutil.WriteFile(path, []byte("oaslljdfljasdfllajlsd"), 0)
- // if err != nil {
- // MyErr("WRWRQRCF", err, true)
- // return err
- // }
- // if file, err := os.Create(path); err != nil {
- // MyErr("FDADFADSFA", err, true)
- // return err
- // } else {
- // file.Close()
- // }
- // if file, err := os.OpenFile(path, os.O_RDWR, 0644); err != nil {
- // if _, err := file.WriteString(str); err != nil {
- // MyErr("SDFFAFFDDAF", err, true)
- // return err
- // } else {
- // if err := file.Sync(); err != nil {
- // fmt.Println(err)
- // }
- // return err
- // file.Close()
- // }
- // }
- return nil
- }
- func FileToStrSkip(filename string) (string, error) {
- var str string
- if fbytes, err := ioutil.ReadFile(filename); err == nil {
- str = string(fbytes)
- } else {
- return "", LogErr("ETBUIITF", "", err)
- }
- return str, nil
- }
- func FileToStr(filename string) (string, error) {
- var str string
- if fbytes, err := ioutil.ReadFile(filename); err == nil {
- str = string(fbytes)
- } else {
- MyErr("EPOJMDOKDSF", err, true)
- return "", err
- }
- return str, nil
- }
- // func (t *lo.EnvConf) FileToStruct(filename string) error {
- // if file, err := os.Open(filename); err == nil {
- // decoder := json.NewDecoder(file)
- // if err = decoder.Decode(t); err != nil {
- // MyErr("LASJLDFJ", nil, true)
- // return err
- // }
- // } else {
- // MyErr("KKOIUERJ", err, true)
- // return err
- // }
- // return nil
- // }
- // func fileCopy(src, dst string) error { // Copy시메모리 소모 없슴.
- // sFile, err := os.Open(src)
- // if err != nil {
- // return MyErr("File Open", err, false)
- // }
- // defer sFile.Close()
- // eFile, err := os.Create(dst)
- // if err != nil {
- // return MyErr("File Create", err, false)
- // }
- // defer eFile.Close()
- // _, err = io.Copy(eFile, sFile) // first var shows number of bytes
- // if err != nil {
- // return MyErr("File Copy", err, false).Error()
- // }
- // err = eFile.Sync()
- // if err != nil {
- // return MyErr("File Open", err, false)
- // }
- // return nil
- // }
- // 정비해야지 쓸수 있슴.
- func UriToFile(uri string, filepath string) error {
- // 해당내용 재정비 해야됨. //보안부분도 강화 해야 됨.
- // Create the file=
- out, err := os.Create(filepath)
- if err != nil {
- return err
- }
- defer out.Close()
- // Get the data
- resp, err := http.Get(uri)
- if err != nil {
- return err
- }
- defer resp.Body.Close()
- // Write the body to file
- _, err = io.Copy(out, resp.Body)
- if err != nil {
- return err
- }
- return nil
- }
|