1. 程式人生 > >Golang學習之標準庫io/ioutil,讀取檔案,生成臨時目錄/檔案

Golang學習之標準庫io/ioutil,讀取檔案,生成臨時目錄/檔案

1.讀取目錄

list, err := ioutil.ReadDir("DIR")//要讀取的目錄地址DIR,得到列表
if err != nil {
    fmt.Println("read dir error")
    return
}
for _, info := range list { //遍歷目錄下的內容,獲取檔案詳情,同os.Stat(filename)獲取的資訊
    info.Name()//檔名
    info.Mode()//檔案許可權
    info.Size()//檔案大小
    info.ModTime()//檔案修改時間
    info.Sys()//系統資訊
    if info.IsDir() == true
{ fmt.Println("是目錄") } }

2.讀取檔案

data, err := ioutil.ReadFile("DIR/FILENAME")
if err != nil {
    fmt.Println("read error")
    return
}
fmt.Println(string(data))

3.建立臨時目錄(os.TempDir()返回的是作業系統的temp目錄)

dir, err := ioutil.TempDir("DIR", "tmp") //在DIR目錄下建立tmp為目錄名字首的目錄,DIR必須存在,否則建立不成功
if
err != nil { fmt.Println("臨時目錄建立失敗") return } fmt.Println(dir) //生成的目錄名為tmpXXXXX,XXXXX為一個隨機數

4.建立臨時檔案

file, error := ioutil.TempFile("DIR", "tmp")//在DIR目錄下建立tmp為檔名字首的檔案,獲得file檔案指標,DIR必須存在,否則建立不成功
defer file.Close()
if error != nil {
    fmt.Println("檔案建立失敗")
    return
}
file.WriteString("insert into file"
) //利用file指標的WriteString()寫入內容