GO語言 檔案操作例項

2022-07-11 23:03:11 字數 3140 閱讀 8906

package main

import (

"bufio"

"fmt"

"io/ioutil"

"os")

func main()

//以追加資料的形式寫入檔案

) defer f.close()

f.writestring(str)}//

讀檔案func readfile(filename string

) readbuf := make(byte, 1024)

for fmt.println(string(readbuf[0:len]))

}}//

計算檔案行數

func fileline(filename string

) defer

file.close()

fmt.println(linecount)}//

讀取檔案特定行數

func readline(filename string, linenumber int) string

linecount++}

defer

file.close()

return ""}

//列出目錄下的檔案

func showfile(dirname

string

)

for _, f := range

files

}

效果如下:

以下內容來自:

刪除檔案os.

remove(fname)

建立目錄

os.mkdir(dname, os.modedir|os.

modeperm)

建立完整目錄路徑

os.mkdirall(dname,os.modedir|os.

modeperm)

以唯讀方式開啟乙個存在的檔案,開啟就可以讀取了

func open(name

string) (file *file, err error)

func openfile(name string, flag int, perm filemode) (file *file,

err error)

直接通過紋面建立檔案

func create(name

string) (file *file, err error)

func newfile(fd uintptr, name string) *file

以唯讀方式開啟乙個存在的檔案,開啟就可以讀取了

func open(name

string) (file *file, err error)

func openfile(name string, flag int, perm filemode) (file *file,

err error)

管道func pipe() (r

*file, w *file,

err error)

改變當前的工作目錄

func (f

*file) chdir

() error

改變許可權

func (f

*file) chmod

(mode filemode) error

改變所有者

func (f

*file) chown(uid,

gid int) error

關閉檔案

func (f

*file

) close() error

返回檔案控制代碼

func (f

*file

) fd() uintptr

返回檔名

func (f

*file) name()

string

讀取檔案

func (f

*file) read(b byte) (n int,

err error)

從off開始讀取檔案

func (f

*file) readat(b byte, off int64) (n int,

err error)

讀取檔案目錄返回n個fileinfo

func (f

*file) readdir(n int) (fi fileinfo,

err error)

讀取檔案目錄返回n個檔名

func (f

*file) readdirnames(n int) (names string,

err error)

設定讀寫檔案的偏移量,whence為0表示相對於檔案的開始處,1表示相對於當前的位置,2表示相對於檔案結尾。他返回偏移量。如果有錯誤返回錯誤

func (f

*file) seek(offset int64, whence int) (ret int64,

err error)

返回當前檔案fileinfo結構體

func (f

*file) stat() (fi fileinfo,

err error)

把當前內容持久化,一般就是馬上寫入到磁碟

func (f

*file

) sync() (err error)

改變當前檔案的大小,他不改變當前檔案讀寫的偏移量

func (f

*file

) truncate(size int64) error

寫入內容

func (f

*file) write(b byte) (n int,

err error)

在offset位置寫入內容

func (f

*file) writeat(b byte, off int64) (n int,

err error)

寫入字元

func (f

*file) writestring(s string) (ret int, err error)

Go語言檔案操作

檔案的開啟和關閉 os.open 函式能夠開啟乙個檔案,返回乙個 file和乙個err。對得到的檔案例項呼叫close 方法能夠關閉檔案。為了防止檔案忘記關閉,我們通常使用defer註冊檔案關閉語句。讀取檔案 file.read read方法定義如下 func f file read b byte ...

go語言 檔案操作

os.open 函式能夠開啟乙個檔案,返回乙個 file和乙個err。對得到的檔案例項呼叫close 方法能夠關閉檔案。package main import fmt os func main 關閉檔案 file.close 為了防止檔案忘記關閉,我們通常使用defer註冊檔案關閉語句。read方法...

Go語言檔案操作

寫程式離不了檔案操作,這裡總結下 go語言檔案操作。一 建立與開啟 建立檔案函式 func create name string file file,err error func newfile fd int,name string file 具體見官網 開啟檔案函式 func open name ...