golang 标准库io/ioutil,读取文件,生成临时目录/文件

1.读取目录

list, err := ioutil.ReadDir("DIR")//要读取的目录地址DIR,得到列表
if err != nil {
    fmt.Println("read dir error")
    return
}
for _, info := range list { //遍历目录下的内容,获取文件详情,同os.Stat(filename)获取的信息
    info.Name()//文件名
    info.Mode()//文件权限
    info.Size()//文件大小
    info.ModTime()//文件修改时间
    info.Sys()//系统信息
    if info.IsDir() == true {
        fmt.Println("是目录")
    }
}

2.读取文件

data, err := ioutil.ReadFile("DIR/FILENAME")
if err != nil {
    fmt.Println("read error")
    return
}
fmt.Println(string(data))

3.创建临时目录

dir, err := ioutil.TempDir("DIR", "tmp") //在DIR目录下创建tmp为目录名前缀的目录,DIR必须存在,否则创建不成功
if err != nil {
    fmt.Println("临时目录创建失败")
    return
}
fmt.Println(dir)  //生成的目录名为tmpXXXXX,XXXXX为一个随机数

4.创建临时文件

file, error := ioutil.TempFile("DIR", "tmp")//在DIR目录下创建tmp为文件名前缀的文件,获得file文件指针,DIR必须存在,否则创建不成功
defer file.Close()
if error != nil {
    fmt.Println("文件创建失败")
    return
}
file.WriteString("insert into file") //利用file指针的WriteString()写入内容
时间: 2024-10-12 21:03:20

golang 标准库io/ioutil,读取文件,生成临时目录/文件的相关文章

golang标准库--io

一.type Reader interface { Read(p []byte)(n int, err error) } Reader是一个包含Read方法的接口 Read方法读取len(p)个字节到p中.它返回读取到的字节数和遇到的错误.即使Read返回n<len(p),在调用过程中也会使用所有p作为暂存空间.如果一些可读取的数据没有len(p),按照惯例Read会返回读取到的数据,而不是等待更多. 当Read成功读取n>0个字节后遇到一个错误或者end-of-file条件,它会返回读取到的

Golang中使用log(一):Golang 标准库提供的Log

Golang的标准库提供了log的机制,但是该模块的功能较为简单(看似简单,其实他有他的设计思路).不过比手写fmt. Printxxx还是强很多的.至少在输出的位置做了线程安全的保护.其官方手册见Golang log (天朝的墙大家懂的).这里给出一个简单使用的例子: package main import ( "log" ) func main(){ log.Fatal("Come with fatal,exit with 1 \n") } 编译运行后,会看到程

Golang标准库之Buffer

Buffer Go标准库Buffer是一个可变大小的字节缓冲区,可以用Wirte和Read方法操作它,在Go标准库中,定义了如下关于Buffer的数据结构. type Buffer struct { buf []byte // contents are the bytes buf[off : len(buf)] off int // read at &buf[off], write at &buf[len(buf)] runeBytes [utf8.UTFMax]byte // avoid

Golang中使用log(二):Golang 标准库log的实现

前一篇文章我们看到了Golang标准库中log模块的使用,那么它是如何实现的呢?下面我从log.Logger开始逐步分析其实现. 其源码可以参考官方地址 1.Logger结构 首先来看下类型Logger的定义: type Logger struct { mu sync.Mutex // ensures atomic writes; protects the following fields prefix string // prefix to write at beginning of each

golang标准库文档

Golang标准库文档 https://studygolang.com/pkgdoc go中文官网 https://go-zh.org/doc/ <Go Web 基础>是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向完成 <Go 编程基础>有关 Go Web 开发的学习者. Unknwon/go-web-foundation <Go 编程基础>主要面向新手级别的学习者.Unknwon/go-fundamental-programming <Go

VS2010中如何将exe文件生成setup安装文件

VS2010中如何将exe文件生成setup安装文件 描述:当我们完成一个窗体应用程序时,想要将软件给用户使用,但又不想给源代码. 于是我们需要将我们的应用程序进行打包. 我知道的打包方式有两种,一种是在学校的时候老师教的用7-zip生成自解压的压缩包方式, 另一种是利用VS2010直接生成. 接下来将详细介绍第二种打包方式. 目录 一.创建 二.设置属性 三.创建快捷方式 四.生成安装文件 一.创建 1.右击鼠标->添加->新建项目 2.选择其他项目类型->安装和部署->Visu

C 标准库IO缓冲区和内核缓冲区的区别

1.C标准库的I/O缓冲区 UNIX的传统 是Everything is a file,键盘.显示器.串口.磁盘等设备在/dev 目录下都有一个特殊的设备文件与之对应,这些设备文件也可以像普通文件(保存在磁盘上的文件)一样打开.读.写和关闭,使用的函数接口是相同的.用户程序调用C标准I/O库函数读写普通文件或设备,而这些库函数要通过系统调用把读写请求传给内核 ,最终由内核驱动磁盘或设备完成I/O操作.C标准库为每个打开的文件分配一个I/O缓冲区以加速读写操作,通过文件的FILE 结构体可以找到这

Python:标准库(包含下载地址及书本目录)

下载地址 中文版(扫描版)请使用迅雷下载 英文版(文字版) 官方文档 The Python Standard Library <Python标准库>一书的目录 <python标准库> 译者序 序 前言 第1章 文本1 1.1 string—文本常量和模板1 1.1.1 函数1 1.1.2 模板2 1.1.3 高级模板4 1.2 textwrap—格式化文本段落6 1.2.1 示例数据6 1.2.2 填充段落6 1.2.3 去除现有缩进7 1.2.4 结合dedent和fill7 1

动态Jsp文件生成对应Html文件

1.在 index.jsp文件中,加入一条超链接,用来访问将 Jsp 转换成Html的servlet <a href="servlet/GeneraticServlet">把template文件夹下的jsp都生成静态html文件</a> 2. 在项目根目录下新建一个template文件夹,将要转换成静态html的 jsp页面放入,我新建的的文件为MyJsp1.jsp, MyJsp2.jsp, MyJsp3.jsp, 内容类似 <body> 这是第&l