ioutil包提供給外部使用的一共有1個變量,7個方法。
其中變量Discard是io.Write接口類型,調(diào)用該變量的Write方法不會做任何事情,并且是以成功的方式返回。
它的原型是:var Discard io.Write = devNull(0)
7個方法中有兩個函數(shù)是直接針對文件讀操作和寫操作的:
(1)ReadFile
原型:func ReadFile(filename string) ([]byte, error)
ReadFile讀取文件中的所有數(shù)據(jù),返回讀取的內(nèi)容和遇到的錯誤。
(2)WriteFile
原型:func WriteFile(filename string, data []byte, perm os.FileMode) error
WriteFile向文件寫入數(shù)據(jù),如果之前有數(shù)據(jù)則會將原來的進行清空,如果文件不存在則會以指定的權(quán)限創(chuàng)建該文件。
然后有一個函數(shù)是對目錄進行讀操作:
(3)ReadDir
原型:func ReadDir(dirname string) ([]os.FileInfo, error)
ReadDir讀取指定目錄中的所有目錄和文件(不包括子目錄)。返回讀取的文件信息列表和遇到的錯誤,列表是經(jīng)過排序的。
之后有兩個是臨時對文件目錄操作的函數(shù):
(4)TempFile
原型:func TempFile(dir, prefix string) (f *os.File, err error)
TempFile在dir目錄中創(chuàng)建一個以prefix為前綴的臨時文件,并將其以讀寫模式打開。返回創(chuàng)建的文件對象和遇到的錯誤信息。如果dir為空,則在默認的臨時目錄中創(chuàng)建文件(參見os.TimeDir),多次調(diào)用會創(chuàng)建不同的臨時文件,調(diào)用者可以通過f.Name()獲取文件的完整路徑。調(diào)用本函數(shù)所創(chuàng)建的臨時文件,應(yīng)該由調(diào)用者自己刪除。
(5)TempDir
原型:func TempDir(dir, prefix string) (name string, err error)
TempDir功能是創(chuàng)建臨時目錄(其他功能和TempFile一樣),返回創(chuàng)建的完整的目錄和遇到的錯誤信息。
之后是一個對實現(xiàn)了io.Reader接口的使用:
(6)ReadAll
原型:func ReadAll(r io.Reader) ([]byte, error)
ReadFile讀取文件中的所有數(shù)據(jù),返回讀取的數(shù)據(jù)和遇到的錯誤。如果讀取成功,則err返回nil,而不是EOF。
最后一個是NopCloser:
(7)NopCloser
原型:func NopCloser(r io.Reader) io.ReadCloser
NopCloser將r包裝為一個ReadCloser類型,但Close方法不做任何事情。
關(guān)于go標(biāo)準(zhǔn)庫的io/ioutil包可以參考:http://www.cnblogs.com/golove/p/3278444.html