Go语言系列之标准库ioutil

ioutil标准库中提供了一些常用、方便的IO操作函数

一、相关方法

  • func ReadAll(r io.Reader) ([]byte, error)

  • func ReadDir(dirname string) ([]os.FileInfo, error)

  • func ReadFile(filename string) ([]byte, error)

  • func WriteFile(filename string, data []byte, perm os.FileMode) error

  • func TempDir(dir, prefix string) (name string, err error)

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

二、示例代码

package main

import (
	"fmt"
	"io/ioutil"
	"strings"
)

func main() {
	//NopCloser返回一个读取对象的ReadCloser接口
	//用于提供Close方法
	r := strings.NewReader("hello");
	rcl := ioutil.NopCloser(r);
	defer rcl.Close();

	//ReadAll读取所有数据
	r2 := strings.NewReader("1234567890");
	p, _ := ioutil.ReadAll(r2);
	fmt.Println(string(p));  // 1234567890

	//读取目录下信息
	fileInfo, _ := ioutil.ReadDir("./");
	for _, v := range fileInfo {
		fmt.Println(v.Name());
	}

	//读取整个文件数据
	data, _ := ioutil.ReadFile("E:/go/project/test.log");
	fmt.Println(string(data));

	//向指定文件写入数据,如果文件不存在,则创建文件,写入数据之前清空文件
	ioutil.WriteFile("./xxx.txt", []byte("hello,world"), 0655);

	//在当前目录下,创建一个以test为前缀的临时文件夹,并返回文件夹路径
	name, _ := ioutil.TempDir("./", "test");
	fmt.Println(name);

	//在当前目录下,创建一个以test为前缀的文件,并以读写模式打开文件,并返回os.File指针
	file, _ := ioutil.TempFile("./", "test");
	file.WriteString("写入字符串");
	file.Close();
}

 

posted @ 2020-06-17 12:47  DreamBoy_张亚飞  阅读(494)  评论(0编辑  收藏  举报