1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Golang中怎么創(chuàng)建文件目錄

      這期內容當中小編將會給大家?guī)碛嘘PGolang中怎么創(chuàng)建文件目錄,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

      成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設計團隊扎實的技術支持、優(yōu)質高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都十余年的網(wǎng)站建設設計經(jīng)驗,為成都上千多家中小型企業(yè)策劃設計了網(wǎng)站。

      文件目錄的創(chuàng)建和刪除

      package main
      
      import(
          "fmt"
          "os"
      )
      
      func main(){
          //創(chuàng)建目錄和權限
          os.Mkdir("./benben",0777)
          //創(chuàng)建多級目錄和設置權限
          os.MkdirAll("./benben/test",0777)
          //刪除目錄
          err:=os.Remove("./benben")
          if err!=nil{
              fmt.Println(err)
          }
          //刪除多級目錄
          os.RemoveAll("./benben")
      }

      文件的創(chuàng)建

      package main
      
      import (
          "os"
          "fmt"
      )
      
      func main(){
          //文件的創(chuàng)建,Create會根據(jù)傳入的文件名創(chuàng)建文件,默認權限是0666
          file,err:=os.Create("a.txt")
          if err!=nil{
              fmt.Println(err)
          }
          defer file.Close()
      }

      文件的打開和關閉 文件的打開和關閉相關函數(shù)在文件的讀取和寫入示例中演示。

      文件的讀取和寫入 文件的讀取有以下幾種方式: 方法一: 利用os.Open()和ioutil.ReadAll()兩個方法

      package main
      
      func main(){
          //打開文件
          file,err:=os.Open("a.txt")
          if err !=nil {
              fmt.Println(err)
          }
          //文件的關閉
          defer file.Close()
          //文件讀取方式一,通過os.Open返回一個文件句柄,然后利用它進行讀取
          body,err:=ioutil.ReadAll(file)
          if err !=nil {
              fmt.Println(err)
          }
          fmt.Println(string(body))
      }

      方法二:利用ioutil.ReadFile()方法來實現(xiàn)讀取操作。

      package main
      
      func main(){
          body,err:=ioutil.ReadFile("a.txt")
          if err!=nil {
              fmt.Println(err)
          }
          fmt.Println(string(body))
      }

      ReadFile函數(shù)直接將方式一中的三個步驟分裝在了一起,下面是實現(xiàn)的具體代碼。

      func ReadFile(filename string)([]byte,error){
          //打開文件
          f,err:=os.Open(filename)
          if err!=nil {
              return nil,err
          }
          //延遲關閉文件
          defer f.Close()
      
          //設置讀取文件的字節(jié)數(shù)
          var n int64
          //Stat()方法會返回描述指定文件的信息結構FileInfo
          if fi,err:=f.Stat();err==nil{
              if size:=fi.Size();size<1e9{
                  n=size
              }
          }
      
          //返回讀取的文件內容
          return readAll(f,n+bytes.MinRead)
      }

      FileInfo具有以下方法:

      Name() string       //返回文件名
      Size() int64        //返回文件的字節(jié)長度
      Mode() FileMode     //文件模式位
      ModTime() time.Time //修改時間
      IsDir() bool        //是否是目錄
      Sys()   interface{} //底層數(shù)據(jù)源

      方法三: 帶緩存的讀取

      package main
      
      func main(){
          file,err:=os.Open("a.txt")
          if err!=nil {
              fmt.Println(err)
          }
          defer file.Close()
      
          //創(chuàng)建一個新的io.Reader,它實現(xiàn)了Read方法
          reader:=bufio.NewReader(file)
          //設置讀取的長度
          buf:=make([]byte,1024)
          //讀取文件
          _,err=reader.Read(buf)
          if err!=nil {
              fmt.Println(err)
          }
          fmt.Println(string(buf))
      }

      文件的寫入 方法一: 利用ioutil.WriteFile()

      package main
      
      import (
          "io/ioutil"
      )
      func main(){
          content:=[]byte("Go is an open source programming language that makes is easy to build simple,reliable,and efficient software)
          err:=ioutil.WriteFile("a.txt",content,0777)
          if err!=nil {
              fmt.Println(err)
          }
          fmt.Println("write file successful")
      }

      看看WriteFile具體是如何實現(xiàn)文件的寫入的。

      func WriteFile(filename string,data []byte,perm os.FileMode) error{
          //打開文件
          f,err:=os.OpenFile(filename,os.O_WRONLY|os.O_CREATE|os.O_TRUNC,perm)
          if err!=nil {
              return err
          }
          //文件的寫入
          n,err:=f.Write(data)
          if err==nil && n

      方法二:打開文件,然后利用Write()進行文件讀寫,注意:此時不能用os.Open()打開,而要用os.OpenFile()打開。os.Open()和os.OpenFile()兩者區(qū)別

      package main
      
      func main(){
          file,err:=os.OpenFile("a.txt",os.O_RDWR|os.O_CREATE,0777)
          if err!=nil {
              fmt.Println(err)
          }
          defer file.Close()
      
          content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software")
          _,err=file.Write(content)
          if err!=nil {
              fmt.Println(err)
          }
          fmt.Println("write file successful")
      }

      方法三:通過有緩沖操作的bufio提供的包進行操作 如果使用Write方法實現(xiàn)寫操作,此時就還需要使用Flush()方法。golang bufio包中的Write方法分析

      package main
      
      func main(){
          file,err:=os.OpenFile("a.txt", os.O_CREATE|os.O_RDWR, 0666)
          if err!=nil {
              fmt.Println(err)
          }
          defer file.Close()
      
          content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software")
          //使用NewWriter方法返回的io.Writer緩沖默認大小為4096,也可以使用NewWriterSize方法設置緩存的大小
          newWriter:=bufio.NewWriter(file)
          //將文件寫入緩存
          if _,err =newWriter.Write(content);err!=nil {
              fmt.Println(err)
          }
          //從緩存寫入到文件中
          if err= newWriter.Flush(); err!=nil {
              fmt.Println(err)
          }
          fmt.Println("write file successful")
      }

      上述就是小編為大家分享的Golang中怎么創(chuàng)建文件目錄了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      網(wǎng)站名稱:Golang中怎么創(chuàng)建文件目錄
      網(wǎng)頁路徑:http://www.ef60e0e.cn/article/gghgij.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        义马市| 沾化县| 凌海市| 玉树县| 垫江县| 南丹县| 西乌珠穆沁旗| 资阳市| 丰镇市| 凤台县| 阜南县| 永年县| 旬邑县| 鄂托克前旗| 呼和浩特市| 涞水县| 读书| 广德县| 麻栗坡县| 抚松县| 玉林市| 江孜县| 克什克腾旗| 大冶市| 毕节市| 辽阳县| 开远市| 开化县| 梁山县| 清河县| 长海县| 阳高县| 连云港市| 富蕴县| 饶阳县| 扎囊县| 溧阳市| 赤城县| 鞍山市| 平顺县| 南部县|