go语言之文件操作
一: 相關(guān)的API
1func Create(name string) (file *File, err Error)根據(jù)提供的文件名創(chuàng)建新的文件,返回一個(gè)文件對象,默認(rèn)權(quán)限是0666 2 func NewFile(fd uintptr, name string) *File根據(jù)文件描述符創(chuàng)建相應(yīng)的文件,返回一個(gè)文件對象 3 func Open(name string) (file *File, err Error)只讀方式打開一個(gè)名稱為name的文件 4 func OpenFile(name string, flag int, perm uint32) (file *File, err Error)打開名稱為name的文件,flag是打開的方式,只讀、讀寫等,perm是權(quán)限 5 func (file *File) Write(b []byte) (n int, err Error)寫入byte類型的信息到文件 6 func (file *File) WriteAt(b []byte, off int64) (n int, err Error)在指定位置開始寫入byte類型的信息 7 func (file *File) WriteString(s string) (ret int, err Error)寫入string信息到文件 8 func (file *File) Read(b []byte) (n int, err Error)讀取數(shù)據(jù)到b中 9 func (file *File) ReadAt(b []byte, off int64) (n int, err Error)從off開始讀取數(shù)據(jù)到b中 10 func Remove(name string) Error刪除文件名為name的文件二: 寫文件
package mainimport ("os""fmt" )func main() {//新建文件file, err := os.Create("./xxx.txt")if err != nil {fmt.Println(err)return}defer file.Close()//寫入內(nèi)容for i := 0; i < 5; i++ {//寫入信息file.WriteString("ab\n")file.Write([]byte("cd\n"))} }三:讀文件
package mainimport ("os""fmt" )func main() {//打開文件file, err := os.Open("./xxx.txt")if err != nil {fmt.Println(err)}defer file.Close()buf := make([]byte, 1024)for {//讀文件n, _ := file.Read(buf)if n == 0 {break}fmt.Println(string(buf))} }四:拷貝文件
package mainimport ("os""fmt""io" )func main() {//打開文件srcFile, err := os.Open("./xxx.txt")if err != nil {fmt.Println(err)return}//創(chuàng)建目標(biāo)文件dstFile, err2 := os.Create("./yyy.txt")if err2 != nil {fmt.Println(err2)return}//切片緩沖區(qū)buf := make([]byte, 1024)for {//從源文件讀n, err := srcFile.Read(buf)//Read()若無法得到更多的結(jié)果,就返回EOFif err != nil && err != io.EOF {fmt.Println(err)break}if n == 0 {fmt.Println("文件處理完畢")break}//讀到的內(nèi)容寫入目標(biāo)文件 dstFile.Write(buf[:n])}srcFile.Close()dstFile.Close() }?
轉(zhuǎn)載于:https://www.cnblogs.com/liucsxiaoxiaobai/p/10835664.html
總結(jié)
- 上一篇: 每日优鲜app怎么删除订单记录
- 下一篇: 第一份正式工作-华为外包。