mirror of
https://github.com/charlienet/go-mixed.git
synced 2025-07-17 16:12:42 +08:00
38 lines
649 B
Go
38 lines
649 B
Go
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
|
|
}
|