咖啡伴侶

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

          Go語言文件操作

          Posted on 2013-08-02 10:43 oathleo 閱讀(276) 評論(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

          主站蜘蛛池模板: 万宁市| 漠河县| 邛崃市| 赫章县| 龙里县| 海城市| 德阳市| 襄汾县| 桃江县| 洪雅县| 扬州市| 林州市| 册亨县| 延边| 甘孜| 正宁县| 建水县| 文昌市| 南部县| 内江市| 栾川县| 惠安县| 吕梁市| 江城| 聂拉木县| 灵丘县| 淳化县| 安义县| 阜新市| 新化县| 崇文区| 仪陇县| 林西县| 射洪县| 镇安县| 侯马市| 云梦县| 梅州市| 平武县| 荥经县| 疏勒县|