咖啡伴侶

          呆在上海
          posts - 163, comments - 156, trackbacks - 0, articles - 2

          Go語言文件操作

          Posted on 2013-08-02 10:43 oathleo 閱讀(271) 評論(0)  編輯  收藏 所屬分類: Golang

          寫程序離不了文件操作,這里總結(jié)下go語言文件操作。

          一、建立與打開

          建立文件函數(shù):

          func Create(name string) (file *File, err Error)

          func NewFile(fd int, name string) *File

          具體見官網(wǎng):http://golang.org/pkg/os/#Create

           

          打開文件函數(shù):

          func Open(name string) (file *File, err Error)

          func OpenFile(name string, flag int, perm uint32) (file *File, err Error)

          具體見官網(wǎng):http://golang.org/pkg/os/#Open

           

          二、寫文件

          寫文件函數(shù):

          func (file *File) Write(b []byte) (n int, err Error)

          func (file *File) WriteAt(b []byte, off int64) (n int, err Error)

          func (file *File) WriteString(s string) (ret int, err Error)

          具體見官網(wǎng):http://golang.org/pkg/os/#File.Write 

          寫文件示例代碼:

          package main import (         "os"         "fmt" ) func main() {         userFile := "test.txt"         fout,err := os.Create(userFile)         defer fout.Close()         if err != nil {                 fmt.Println(userFile,err)                 return         }         for i:= 0;i<10;i++ {                 fout.WriteString("Just a test!\r\n")                 fout.Write([]byte("Just a test!\r\n"))         } }

          三、讀文件

          讀文件函數(shù):

          func (file *File) Read(b []byte) (n int, err Error)

          func (file *File) ReadAt(b []byte, off int64) (n int, err Error)

          具體見官網(wǎng):http://golang.org/pkg/os/#File.Read

          讀文件示例代碼:

          package main import (         "os"         "fmt" ) func main() {         userFile := "test.txt"         fin,err := os.Open(userFile)         defer fin.Close()         if err != nil {                 fmt.Println(userFile,err)                 return         }         buf := make([]byte, 1024)         for{                 n, _ := fin.Read(buf)                 if 0 == n { break }                 os.Stdout.Write(buf[:n])         } }

          四、刪除文件

          函數(shù):

          func Remove(name string) Error

          主站蜘蛛池模板: 六枝特区| 开化县| 汝阳县| 淮阳县| 芮城县| 胶南市| 旬邑县| 融水| 湟中县| 台湾省| 望谟县| 栾川县| 普兰店市| 斗六市| 东安县| 尉犁县| 大英县| 安泽县| 五华县| 巴林右旗| 富源县| 正定县| 防城港市| 布尔津县| 濉溪县| 仁化县| 太保市| 桦川县| 上蔡县| 平顶山市| 犍为县| 汉阴县| 宁陕县| 会理县| 白沙| 靖远县| 克东县| 明水县| 右玉县| 南华县| 石首市|