Source file src/io/ioutil/tempfile.go
1 // Copyright 2010 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package ioutil 6 7 import ( 8 "os" 9 ) 10 11 // TempFile creates a new temporary file in the directory dir, 12 // opens the file for reading and writing, and returns the resulting *[os.File]. 13 // The filename is generated by taking pattern and adding a random 14 // string to the end. If pattern includes a "*", the random string 15 // replaces the last "*". 16 // If dir is the empty string, TempFile uses the default directory 17 // for temporary files (see [os.TempDir]). 18 // Multiple programs calling TempFile simultaneously 19 // will not choose the same file. The caller can use f.Name() 20 // to find the pathname of the file. It is the caller's responsibility 21 // to remove the file when no longer needed. 22 // 23 // Deprecated: As of Go 1.17, this function simply calls [os.CreateTemp]. 24 // 25 //go:fix inline 26 func TempFile(dir, pattern string) (f *os.File, err error) { 27 return os.CreateTemp(dir, pattern) 28 } 29 30 // TempDir creates a new temporary directory in the directory dir. 31 // The directory name is generated by taking pattern and applying a 32 // random string to the end. If pattern includes a "*", the random string 33 // replaces the last "*". TempDir returns the name of the new directory. 34 // If dir is the empty string, TempDir uses the 35 // default directory for temporary files (see [os.TempDir]). 36 // Multiple programs calling TempDir simultaneously 37 // will not choose the same directory. It is the caller's responsibility 38 // to remove the directory when no longer needed. 39 // 40 // Deprecated: As of Go 1.17, this function simply calls [os.MkdirTemp]. 41 // 42 //go:fix inline 43 func TempDir(dir, pattern string) (name string, err error) { 44 return os.MkdirTemp(dir, pattern) 45 } 46