当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO TempFile用法及代码示例

GO语言"io/ioutil"包中"TempFile"函数的用法及代码示例。

用法:

func TempFile(dir, pattern string)(f *os.File, err error)

TempFile在目录dir中新建一个临时文件,打开文件进行读写,并返回生成的*os.File。文件名是通过采用模式并在末尾添加一个随机字符串来生成的。如果模式包含"*",则随机字符串替换最后的"*"。如果 dir 是空字符串,TempFile 使用临时文件的默认目录(参见 os.TempDir)。多个程序同时调用TempFile 不会选择同一个文件。调用者可以使用 f.Name() 来查找文件的路径名。不再需要时删除文件是调用者的责任。

从 Go 1.17 开始,此函数仅调用 os CreateTemp

例子:

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()) // clean up

    if _, err := tmpfile.Write(content); err != nil {
        log.Fatal(err)
    }
    if err := tmpfile.Close(); err != nil {
        log.Fatal(err)
    }
}

示例(后缀):

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()) // clean up

    if _, err := tmpfile.Write(content); err != nil {
        tmpfile.Close()
        log.Fatal(err)
    }
    if err := tmpfile.Close(); err != nil {
        log.Fatal(err)
    }
}

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 TempFile。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。