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