ioutil包提供給外部使用的一共有1個變量,7個方法。
其中變量Discard是io.Write接口類型,調用該變量的Write方法不會做任何事情,并且是以成功的方式傳回。
它的原型是:var Discard io.Write = devNull(0)
7個方法中有兩個函數是直接針對檔案讀操作和寫操作的:
(1)ReadFile
原型:func ReadFile(filename string) ([]byte, error)
ReadFile讀取檔案中的所有資料,傳回讀取的内容和遇到的錯誤。
(2)WriteFile
原型:func WriteFile(filename string, data []byte, perm os.FileMode) error
WriteFile向檔案寫入資料,如果之前有資料則會将原來的進行清空,如果檔案不存在則會以指定的權限建立該檔案。
然後有一個函數是對目錄進行讀操作:
(3)ReadDir
原型:func ReadDir(dirname string) ([]os.FileInfo, error)
ReadDir讀取指定目錄中的所有目錄和檔案(不包括子目錄)。傳回讀取的檔案資訊清單和遇到的錯誤,清單是經過排序的。
之後有兩個是臨時對檔案目錄操作的函數:
(4)TempFile
原型:func TempFile(dir, prefix string) (f *os.File, err error)
TempFile在dir目錄中建立一個以prefix為字首的臨時檔案,并将其以讀寫模式打開。傳回建立的檔案對象和遇到的錯誤資訊。如果dir為空,則在預設的臨時目錄中建立檔案(參見os.TimeDir),多次調用會建立不同的臨時檔案,調用者可以通過f.Name()擷取檔案的完整路徑。調用本函數所建立的臨時檔案,應該由調用者自己删除。
(5)TempDir
原型:func TempDir(dir, prefix string) (name string, err error)
TempDir功能是建立臨時目錄(其他功能和TempFile一樣),傳回建立的完整的目錄和遇到的錯誤資訊。
之後是一個對實作了io.Reader接口的使用:
(6)ReadAll
原型:func ReadAll(r io.Reader) ([]byte, error)
ReadFile讀取檔案中的所有資料,傳回讀取的資料和遇到的錯誤。如果讀取成功,則err傳回nil,而不是EOF。
最後一個是NopCloser:
(7)NopCloser
原型:func NopCloser(r io.Reader) io.ReadCloser
NopCloser将r包裝為一個ReadCloser類型,但Close方法不做任何事情。
關于go标準庫的io/ioutil包可以參考:
http://www.cnblogs.com/golove/p/3278444.html