// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package ioutil import ( "os" ) // TempFile creates a new temporary file in the directory dir, // opens the file for reading and writing, and returns the resulting *os.File. // The filename is generated by taking pattern and adding a random // string to the end. If pattern includes a "*", the random string // replaces the last "*". // If dir is the empty string, TempFile uses the default directory // for temporary files (see os.TempDir). // Multiple programs calling TempFile simultaneously // will not choose the same file. The caller can use f.Name() // to find the pathname of the file. It is the caller's responsibility // to remove the file when no longer needed. // // As of Go 1.17, this function simply calls os.CreateTemp. func TempFile(dir, pattern string) (f *os.File, err error) { return os.CreateTemp(dir, pattern) } // TempDir creates a new temporary directory in the directory dir. // The directory name is generated by taking pattern and applying a // random string to the end. If pattern includes a "*", the random string // replaces the last "*". TempDir returns the name of the new directory. // If dir is the empty string, TempDir uses the // default directory for temporary files (see os.TempDir). // Multiple programs calling TempDir simultaneously // will not choose the same directory. It is the caller's responsibility // to remove the directory when no longer needed. // // As of Go 1.17, this function simply calls os.MkdirTemp. func TempDir(dir, pattern string) (name string, err error) { return os.MkdirTemp(dir, pattern) }