大家有沒有覺得用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)//<nil> 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 mainimport ( "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()) }}