go语言基础 读写工具 ioutil包

大家有没有觉得用os包下读写文件很麻烦呀,先要打开文件,然后读取文件,然后再用[]byte数组在一点一点去读去写,下面我来给大家介绍一个很好用的方法,iotuil包,这里面方法不多但是都是很方便的方法,都是封装好的,文件不用打开,直接拿来用就可以了

ioUtil包
ReadFile(filename)-->[]byte data  *****
读取指定文件中的所有内容,返回一个切片,err返回EOF
WriteFile(filename, [] byte data,FileMode) *****
向指定文件中写出数据,
ReadAll() 读取数据,读取完毕后err返回nil而非EOF

package main

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

func main()  {
   fileName:="c:\\liu\\pro\\aa.txt"
   bs, err:=ioutil.ReadFile(fileName)
   fmt.Println(err)//
   fmt.Println(bs)
   fmt.Println(string(bs))

   fileName2:="C:\\Ruby\\pro\\aoo.txt"
   s1:="HelloWorld"
   err=ioutil.WriteFile(fileName2,[]byte(s1),0777)
   fmt.Println(err)

   s2:="qwertyuiopasdfghjklzxcvbnm"
   reader1:=strings.NewReader(s2)//
   //file,err:=os.Open("")//Read()
   bs2,_:=ioutil.ReadAll(reader1)
   fmt.Println(string(bs2))
}

ReadDir(dirname)-->[]FileInfo

获取指定目录下的子内容,只有一层


package main import ( "io/ioutil" "fmt") func main() { /* readDir(dirname)-->[] FileInfo 获取对应目录下的内容,只一层。 */ dirName:= "C:\\Ruby\\pro" fileInfos ,_:=ioutil.ReadDir(dirName) fmt.Println(len(fileInfos)) for i ,fi:= range fileInfos{ fmt.Printf( "第%d个子内容:\n" ,i+ 1) fmt.Println( "\t名字:" ,fi.Name()) fmt.Println( "\t是否是目录:" ,fi.IsDir()) }}


你可能感兴趣的:(包)