golang中的文件读写
生活随笔
收集整理的這篇文章主要介紹了
golang中的文件读写
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
相關(guān)api
建立和打開文件
新建文件可以通過如下兩個方法
func Create(name string) (file *File, err Error) 根據(jù)提供的文件名創(chuàng)建新的文件,返回一個文件對象,默認權(quán)限是0666的文件,返回的文件對象是可讀寫的func NewFile(fd uintptr, name string) *File 根據(jù)文件描述符創(chuàng)建相應(yīng)的文件,返回一個文件對象通過如下的兩個方法打開文件
func Open(name string) (file *File, err Error) 該方法打開一個名稱為name的文件,但是是只讀方式,內(nèi)部實現(xiàn)其實調(diào)用了OpenFilefunc OpenFile(name string, flag int, perm uint32) (file *File, err Error) 打開名稱為name的文件,flag是打開的方式,只讀,讀寫等,perm是權(quán)限寫文件
func (file *File) Write(b []byte) (n int, err Error) 寫入byte類型的信息到文件 func (file *File) WriteAt(b []byte, off int64) (n int, err Error) 在指定位置開始寫入byte類型的信息func (file *File) WriteString(s string) (ret int, err Error) 寫入string信息到文件讀文件
func (file *File) Read(b []byte) (n int, err Error) 讀取數(shù)據(jù)到b中func (file *File) ReadAt(b []byte, off int64) (n int, err Error) 從off開始讀取數(shù)據(jù)到b中刪除文件
func Remove(name string) Error 調(diào)用該函數(shù)就可以刪除文件名為name的文件例子
標準輸出設(shè)備
func main() {//os.Stdout.Close() //關(guān)閉后,無法輸出fmt.Println("ok?")//標準設(shè)備文件(os.Stdout)os.Stdout.WriteString("are you ok?\n")//os.Stdin.Close() //關(guān)閉后無法輸入var a intfmt.Println("請輸入a: ")fmt.Scan(&a)fmt.Println("a = ", a) }WriteString使用
寫文件
func WriteFile(path string) {//打開文件,新建文件f, err := os.Create(path)if err != nil {fmt.Println("err = ", err)return}//使用完畢,需要關(guān)閉文件defer f.Close()var buf stringfor i := 0; i < 10; i++ {buf = fmt.Sprintf("i = %d\n", i)n, err := f.WriteString(buf)if err != nil {fmt.Println(err)}fmt.Println(n)} }func main() {path := "./demo.txt"WriteFile(path) }Read使用
讀取
func ReadFile(path string) {//打開文件,新建文件f, err := os.Open(path)if err != nil {fmt.Println("err = ", err)return}//使用完畢,需要關(guān)閉文件defer f.Close()buf := make([]byte, 1024*2) //2k大小//n代表從文件讀取內(nèi)容的長度n, err := f.Read(buf)//文件出錯同時不是結(jié)尾的時候出錯if err != nil && err != io.EOF{fmt.Println(err)return}//切片取最大fmt.Println(string(buf[:n])) }func main() {path := "./demo.txt"ReadFile(path) } 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的golang中的文件读写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang结构体
- 下一篇: golang中的目录操作