From 4dc4f7ad112a964495c8e374f9113f32c55cad4e Mon Sep 17 00:00:00 2001 From: charlie <3140647@qq.com> Date: Sun, 27 Mar 2022 10:21:59 +0800 Subject: [PATCH] fs --- fs/fs.go | 19 +++++++++++++++++++ fs/temps.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 fs/fs.go create mode 100644 fs/temps.go diff --git a/fs/fs.go b/fs/fs.go new file mode 100644 index 0000000..88cb0ab --- /dev/null +++ b/fs/fs.go @@ -0,0 +1,19 @@ +package fs + +import ( + "os" +) + +func IsExist(path string) bool { + _, err := os.Stat(path) + return err == nil +} + +func IsDir(path string) bool { + file, err := os.Stat(path) + if err != nil { + return false + } + + return file.IsDir() +} diff --git a/fs/temps.go b/fs/temps.go new file mode 100644 index 0000000..3898e9b --- /dev/null +++ b/fs/temps.go @@ -0,0 +1,37 @@ +package fs + +import ( + "io/ioutil" + "os" +) + +func TempFileWithText(text string) (*os.File, error) { + return TempFile([]byte(text)) +} + +func TempFilenameWithText(text string) (string, error) { + tmpfile, err := TempFileWithText(text) + if err != nil { + return "", err + } + + filename := tmpfile.Name() + if err = tmpfile.Close(); err != nil { + return "", err + } + + return filename, nil +} + +func TempFile(data []byte) (*os.File, error) { + tmpfile, err := ioutil.TempFile(os.TempDir(), "tmp*") + if err != nil { + return nil, err + } + + if err := ioutil.WriteFile(tmpfile.Name(), data, os.ModeTemporary); err != nil { + return nil, err + } + + return tmpfile, nil +}