Create a temporary file or directory
source link: https://yourbasic.org/golang/temporary-file-directory/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Create a temporary file or directory
Use ioutil.TempFile
in package
io/ioutil
to create a
globally unique temporary file.
It’s your own job to remove the file when it’s no longer needed.
file, err := ioutil.TempFile("dir", "prefix")
if err != nil {
log.Fatal(err)
}
defer os.Remove(file.Name())
fmt.Println(file.Name()) // For example "dir/prefix054003078"
The call to ioutil.TempFile
- creates a new file with a name starting with
"prefix"
in the directory"dir"
, - opens the file for reading and writing,
- and returns the new
*os.File
.
To put the new file in os.TempDir()
,
the default directory for temporary files,
call ioutil.TempFile
with an empty directory string.
Add a suffix to the temporary file nameGo 1.11
Starting with Go 1.11, if the second string given to TempFile
includes a "*"
,
the random string replaces this "*"
.
file, err := ioutil.TempFile("dir", "myname.*.bat")
if err != nil {
log.Fatal(err)
}
defer os.Remove(file.Name())
fmt.Println(file.Name()) // For example "dir/myname.054003078.bat"
If no "*"
is included the old behavior is retained,
and the random digits are appended to the end.
Directory
Use ioutil.TempDir
in package
io/ioutil
to create a
globally unique temporary directory.
dir, err := ioutil.TempDir("dir", "prefix")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(dir)
The call to ioutil.TempDir
- creates a new directory with a name starting with
"prefix"
in the directory"dir"
- and returns the path of the new directory.
To put the new directory in os.TempDir()
,
the default directory for temporary files,
call ioutil.TempDir
with an empty directory string.
Share:
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK