GO基礎之檔案操作

2022-04-25 14:51:00 字數 3240 閱讀 8511

func main()  

else

}

檔案路徑:

(1)、判斷是否是絕對路徑filepath.isabs()

(2)、獲取相對路徑filepath.rel()

(3)、獲取絕對路徑filepath.abs()

(4)、拼接路徑path.join()

檔案操作:

1.建立資料夾,如果資料夾存在,建立失敗

2.建立檔案:如果檔案存在,會覆蓋

3.開啟檔案:

4.關閉檔案:

5.刪除:

package main

import (

"os""

fmt"

)func main()

else

filename2 := "

./test2/abc/xyz

"err =os.mkdirall(filename2, os.modeperm)

if err !=nil

else

//2、建立檔案.如果檔案已經存在,則檔案被覆蓋

filename3 := "

./test1/abc.txt

"file1, err :=os.create(filename3)

if err !=nil

else

//3、開啟檔案

file2, err :=os.open(filename3)

if err !=nil

else

/*第乙個引數:檔名稱

第二個引數:檔案的開啟方式

o_rdonly:唯讀模式(read-only)

o_wronly:只寫模式(write-only)

o_rdwr:讀寫模式(read-write)

o_create:檔案不存在就建立(create a new file if none exists.)

第三個引數:檔案的許可權:檔案不存在建立檔案,需要指定許可權

*/filename4 := "

./test1/abc2.txt

"file4, err := os.openfile(filename4, os.o_rdwr|os.o_create, os.modeperm)

if err !=nil

else

//4、關閉檔案,程式與檔案的聯絡斷開

file4.close()

//5、刪除檔案和目錄

filename5 := "

./test1

"err =os.remove(filename5)

if err !=nil

else

err =os.removeall(filename5)

if err !=nil

else

}

view code

檔案讀寫

/*

*2.讀取檔案file.read(byte)-->n,err 從檔案中開始讀取資料,存入到byte切片中,返回值n是本次實際讀取的資料量如果讀取到檔案末尾,n為0,err為eof:end of file */

func readfile(filename

string

)else

str= strings.join(string,""

) }

fmt.println(str)

}//3、關閉檔案

file2.close()

}func writefile(filename

string

)else

file2.close();

}

view code

/*ioutil包:

readfile() //讀取檔案中的所有的資料,返回讀取的位元組陣列

writefile() //向指定檔案寫入資料,如果檔案不存在,則建立檔案,寫入資料之前清空檔案

readdir() //讀取乙個目錄下的子內容:子檔案和子目錄,但是僅有一層

tempdir() //在當前目錄下,建立乙個以指定字串為字首的臨時資料夾,並返回資料夾路徑

tempfile() //在當前目錄下,建立乙個以指定字串為字首的檔案,並以讀寫模式開啟檔案,並返回os.file指標物件

*/

package main

import (

"io/ioutil""

fmt""os

")func main()

else

//2、writefile()

//向指定檔案寫入資料,如果檔案不存在,則建立檔案,寫入資料之前清空檔案

filename2 := "

./files/xyz.txt

"s1 := "

steven陪你學區塊鏈

"err = ioutil.writefile(filename2, byte(s1), 0777

)

if err !=nil

else

//3、檔案拷貝

err =ioutil.writefile(filename2 , data , os.modeperm)

if err !=nil

else

//4、readdir()

//讀取乙個目錄下的子內容:子檔案和子目錄,但是僅有一層

dirname := "./"

fileinfos , err :=ioutil.readdir(dirname)

if err !=nil

else

}//5、tempdir()

//在當前目錄下,建立乙個以指定字串為字首的臨時資料夾,並返回資料夾路徑

filename , err := ioutil.tempdir("

./" , "

temp")

if err !=nil

else

//6、tempfile()

//在當前目錄下,建立乙個以指定字串為字首的檔案,並以讀寫模式開啟檔案,並返回os.file指標物件

file1 , err := ioutil.tempfile(filename , "

temp")

if err !=nil

else

file1.close()

}

view code

Go語言基礎(十六) Go語言檔案操作

package main import fmt os bufio io ioutil 錯誤處理方法 func handle why string,e error func main handle 檔案讀取失敗!err fmt.println str fmt.println 檔案讀取完畢!讀檔案方式二...

Go基礎之 操作Mysql 三

事務是資料庫的乙個非常重要的特性,尤其對於銀行,支付系統,等等。database sql提供了事務處理的功能。通過tx物件實現。db.begin會建立tx物件,後者的exec和query執行事務的資料庫操作,最後在tx的commit和rollback中完成資料庫事務的提交和回滾,同時釋放連線。我們在...

Go基礎 終端操作和檔案操作

操作終端相關的檔案控制代碼常量 os.stdin 標準輸入 os.stdout 標準輸出 os.stderr 標準錯誤輸出 關於終端操作的 例子 package main import fmt var firstname,lastname,s string i intf float32 input ...