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();
}

 

Go语言系列之标准库ioutil_Go之路
作者:张亚飞
gitee:https://gitee.com/zhangyafeii
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。