func TempFile(dir, pattern string) (f *os.File, err error)
TempFile создает новый временный файл в каталоге dir, открывает файл для чтения и записи и возвращает полученный *os.File. Имя файла генерируется путем взятия pattern и добавления случайной строки в конец. Если pattern содержит "*", случайная строка заменяет последнюю "*". Если dir - пустая строка, TempFile использует каталог по умолчанию для временных файлов (полученный от функции os.TempDir). Несколько программ, вызывающих TempFile одновременно, не будут выбирать один и тот же файл. Вызывающая сторона может использовать f.Name(), чтобы найти путь к файлу. Вызывающий абонент должен удалить файл, когда он больше не нужен.
Пример использования TempFile
package main
import (
"io/ioutil"
"log"
"os"
)
func main() {
content := []byte("temporary file's content")
tmpfile, err := ioutil.TempFile("", "example")
if err != nil {
log.Fatal(err)
}
defer os.Remove(tmpfile.Name()) // очистка
if _, err := tmpfile.Write(content); err != nil {
log.Fatal(err)
}
if err := tmpfile.Close(); err != nil {
log.Fatal(err)
}
}
Пример использования TempFile с суффиксом
package main
import (
"io/ioutil"
"log"
"os"
)
func main() {
content := []byte("temporary file's content")
tmpfile, err := ioutil.TempFile("", "example.*.txt")
if err != nil {
log.Fatal(err)
}
defer os.Remove(tmpfile.Name()) // очистка
if _, err := tmpfile.Write(content); err != nil {
tmpfile.Close()
log.Fatal(err)
}
if err := tmpfile.Close(); err != nil {
log.Fatal(err)
}
}
Читайте также:
- Создание временного файла или каталога в Golang
- Пакет ioutil в Golang, функция TempDir для создания временных каталогов
- Читать файл (stdin) построчно в Golang
Комментариев нет:
Отправить комментарий