咖啡伴侶

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

          Go語言文件操作

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

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

          一、建立與打開

          建立文件函數:

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

          func NewFile(fd int, name string) *File

          具體見官網:http://golang.org/pkg/os/#Create

           

          打開文件函數:

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

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

          具體見官網:http://golang.org/pkg/os/#Open

           

          二、寫文件

          寫文件函數:

          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)

          具體見官網: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"))         } }

          三、讀文件

          讀文件函數:

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

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

          具體見官網: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])         } }

          四、刪除文件

          函數:

          func Remove(name string) Error

          主站蜘蛛池模板: 水城县| 伊宁市| 寿光市| 读书| 平顶山市| 上犹县| 龙胜| 咸阳市| 临泽县| 波密县| 施秉县| 淮滨县| 淄博市| 双鸭山市| 离岛区| 定西市| 泰和县| 乌审旗| 治多县| 百色市| 达拉特旗| 张掖市| 二连浩特市| 三河市| 治多县| 响水县| 玛多县| 蛟河市| 桂林市| 夹江县| 唐海县| 大兴区| 宁乡县| 西畴县| 永昌县| 平罗县| 文山县| 台江县| 合山市| 罗山县| 南安市|