1. 程式人生 > 程式設計 >go判斷資料夾是否存在並建立的例項

go判斷資料夾是否存在並建立的例項

我就廢話不多說了,大家還是直接看程式碼吧~

package main
import (
 "fmt"
 "os"
)
// 判斷資料夾是否存在
func PathExists(path string) (bool,error) {
 _,err := os.Stat(path)
 if err == nil {
  return true,nil
 }
 if os.IsNotExist(err) {
  return false,nil
 }
 return false,err
}
func main() {
 _dir := "./gzFiles2"
 exist,err := PathExists(_dir)
 if err != nil {
  fmt.Printf("get dir error![%v]\n",err)
  return
 }
 if exist {
  fmt.Printf("has dir![%v]\n",_dir)
 } else {
  fmt.Printf("no dir![%v]\n",_dir)
  // 建立資料夾
  err := os.Mkdir(_dir,os.ModePerm)
  if err != nil {
   fmt.Printf("mkdir failed![%v]\n",err)
  } else {
   fmt.Printf("mkdir success!\n")
  }
 }
}

輸出:

no dir![./gzFiles2]

mkdir success!

補充:go建立檔案帶目錄

我就廢話不多說了,大家還是直接看程式碼吧~

// create file with dir if dir is not exist
// path is dir
// name is file name
func createFileWithDir(path string,name string,content string) {
 os.MkdirAll(path,os.ModePerm)
 file,_ := os.OpenFile(path + "/" + name,os.O_RDWR|os.O_CREATE|os.O_TRUNC,0666)
 defer file.Close()
 file.WriteString(content)
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。