Go 35 Go 檔案操作

2022-07-02 03:33:10 字數 2059 閱讀 6859

基本介紹

檔案在程式中是以流的形式來操作的;

流:資料在資料來源(檔案) 和程式(記憶體)之間經歷的路徑;

輸入流(讀檔案):資料從資料來源(檔案)到程式(記憶體)的路徑;

輸出流(寫檔案):資料從程式(記憶體)到資料來源(檔案)的路徑;

主要是os包裡的file的結構體來對檔案進行操作; file代表乙個開啟的檔案物件。

常用的檔案操作函式和方法

開啟乙個檔案進行讀操作;

os.open(name string) (*file, error)

關閉乙個檔案:

file.close()

小小的demo

// 通過os 開啟乙個檔案    

// file 的叫法:file物件, file指標, file 檔案控制代碼     

file, error := os.open("e:/text01.txt")     

if error != nil      

// 輸出下檔案,看看檔案是什麼? 檔案就是指標 *file     

fmt.printf("file==%v", file)  // file==&     

// 關閉檔案     

error = file.close()     

if error != nil 

寫檔案操作應用例項

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

說明:os.openfile是乙個更一般性的檔案開啟函式,它會使用指定的選項(如o_rdonly等),指定的模式(如0666等)開啟指定名稱的檔案。如果操作成功,返回的檔案物件可用於i/o。如果出錯,錯誤底層型別就是 *patherror.

第二個引數:檔案開啟模式(可以組合);

第三個引數:許可權控制(linux/unix下使用)

r --> 4

w --> 2

x --> 1

實際案例:

// 建立乙個新檔案,寫入內容 5句 "hello, gardon"    

// 1.開啟檔案 e:/abc_w.txt     

filepath := "e:/abc_w.txt"     

file, err := os.openfile(filepath, os.o_wronly | os.o_create, 0666)     

if err != nil      

// 及時關閉file控制代碼     

defer file.close()     

// 準備寫入內容     

str := "hello, gardon\n"     

// 寫入時,使用帶快取的 *writer     

writer := bufio.newwriter(file)     

for i:=0; i < 5; i ++      

// 因為writer是帶快取,因此在呼叫writestring方法時,其實     

// 記憶體是先寫入到快取的,所以需要呼叫flush方法,將快取的資料     

// 真正寫入到檔案中,否則檔案中會沒有資料     

writer.flush()

判斷檔案是否存在

golang判斷檔案或者資料夾是否存在的方法使用os.stat() 函式返回的錯誤值進行判斷:

1.如果返回的錯誤為nil,說明檔案或者資料夾存在

2.如果返回的錯誤型別使用os.isnotexist() 判斷為true,說明檔案或者資料夾不存在

3.如果返回的錯誤為其他型別,則不確定是否存在

實現的功能函式

func pathexists(filepath string) (bool, error)      

if os.isnotexist(err)      

return false, err  

}

go檔案操作

go語言支援的檔案操作很多 1 傳統的檔案操作 匯入檔案操作需要的包 import os f os.open filepath f.read byte f.close 這裡寫 片openfile,err os.open test.go 正確開啟檔案返回err nil 這裡如果檔案開啟異常,則丟擲錯誤...

go檔案操作

os.open 函式能夠開啟乙個檔案,返回乙個開啟的檔案物件和乙個err。對得到的檔案物件呼叫close 方法能夠關閉檔案 為了防止檔案忘記關閉,我們通常使用defer關閉檔案 是向作業系統要了乙個檔案io,如果程式沒有顯示的關閉檔案,就不會釋放這個檔案io,造成檔案不安全 func main 關閉...

GO檔案操作詳解

package main 1 匯入 os 包,建立,讀,寫檔案的函式都在該包 import fmt os func main 3 寫入檔案操作 count,err1 fp.writestring 我去買些橘子,你就在此地,不要隨意走動 if err1 nil else 4 關閉檔案,如果開啟檔案不關...