亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Golang 文件操作:刪除指定的文件方式

Golang 文件操作:刪除指定的文件方式

熱門標簽:外呼系統用什么卡 評價高的400電話辦理 外呼系統顯本地手機號 涿州代理外呼系統 阿克蘇地圖標注 電話機器人軟件免費 壽光微信地圖標注 百度地圖標注后傳給手機 excel地圖標注分布數據

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

package main 
import "os" 
func main () { 
    err := os.Remove(logFile) 
	if err != nil {
		// 刪除失敗 
	} else {
        // 刪除成功	 
	}
}

補充:[Golang]文件/文件夾一般操作:判斷、復制、刪除、遍歷

1. 檢查指定路徑是否為文件夾

func IsDir(name string) bool {
 if info, err := os.Stat(name); err == nil {
  return info.IsDir()
 }
 return false
}

2. 檢查文件是否存在

func FileIsExisted(filename string) bool {
 existed := true
 if _, err := os.Stat(filename); os.IsNotExist(err) {
  existed = false
 }
 return existed
}

3. 創建文件夾(如果文件夾不存在則創建)

func MakeDir(dir string) error {
 if !FileIsExisted(dir) {
  if err := os.MkdirAll(dir, 0777); err != nil { //os.ModePerm
   fmt.Println("MakeDir failed:", err)
   return err
  }
 }
 return nil
}

4. 復制文件

復制文件過程中一定要注意將原始文件的權限也要復制過去,否則可能會導致可執行文件不能執行等問題。

//使用io.Copy
func CopyFile(src, des string) (written int64, err error) {
 srcFile, err := os.Open(src)
 if err != nil {
  return 0, err
 }
 defer srcFile.Close()
 
 //獲取源文件的權限
 fi, _ := srcFile.Stat()
 perm := fi.Mode()
 
 //desFile, err := os.Create(des)  //無法復制源文件的所有權限
 desFile, err := os.OpenFile(des, os.O_RDWR|os.O_CREATE|os.O_TRUNC, perm)  //復制源文件的所有權限
 if err != nil {
  return 0, err
 }
 defer desFile.Close()
 
 return io.Copy(desFile, srcFile)
} 
 
//使用ioutil.WriteFile()和ioutil.ReadFile()
func CopyFile2(src, des string) (written int64, err error) {
 //獲取源文件的權限
 srcFile, err := os.Open(src)
 if err != nil {
  return 0, err
 }
 fi, _ := srcFile.Stat()
 perm := fi.Mode()
 srcFile.Close()
 
 input, err := ioutil.ReadFile(src)
 if err != nil {
  return 0, err
 }
 
 err = ioutil.WriteFile(des, input, perm)
 if err != nil {
  return 0, err
 }
 
 return int64(len(input)), nil
} 
 
//使用os.Read()和os.Write()
func CopyFile3(src, des string, bufSize int) (written int64, err error) {
 if bufSize = 0 {
  bufSize = 1*1024*1024   //1M
 }
 buf := make([]byte, bufSize)
 
 srcFile, err := os.Open(src)
 if err != nil {
  return 0, err
 }
 defer srcFile.Close()
 
 //獲取源文件的權限
 fi, _ := srcFile.Stat()
 perm := fi.Mode()
 
 desFile, err := os.OpenFile(des, os.O_CREATE|os.O_RDWR|os.O_TRUNC, perm)
 if err != nil {
  return 0, err
 }
 defer desFile.Close()
 
 count := 0
 for {
  n, err := srcFile.Read(buf)
  if err != nil  err != io.EOF {
   return 0, err
  }
 
  if n == 0 {
   break
  }
 
  if wn, err := desFile.Write(buf[:n]); err != nil {
   return 0, err
  } else {
   count += wn
  }
 }
 
 return int64(count), nil
}

5. 復制整個文件夾

func CopyDir(srcPath, desPath string) error {
 //檢查目錄是否正確
 if srcInfo, err := os.Stat(srcPath); err != nil {
  return err
 } else {
  if !srcInfo.IsDir() {
   return errors.New("源路徑不是一個正確的目錄!")
  }
 }
 
 if desInfo, err := os.Stat(desPath); err != nil {
  return err
 } else {
  if !desInfo.IsDir() {
   return errors.New("目標路徑不是一個正確的目錄!")
  }
 }
 
 if strings.TrimSpace(srcPath) == strings.TrimSpace(desPath) {
  return errors.New("源路徑與目標路徑不能相同!")
 }
 
 err := filepath.Walk(srcPath, func(path string, f os.FileInfo, err error) error {
  if f == nil {
   return err
  }
 
  //復制目錄是將源目錄中的子目錄復制到目標路徑中,不包含源目錄本身
  if path == srcPath {
   return nil
  }
 
  //生成新路徑
  destNewPath := strings.Replace(path, srcPath, desPath, -1)
 
  if !f.IsDir() {
   CopyFile(path, destNewPath)
  } else {
   if !FileIsExisted(destNewPath) {
    return MakeDir(destNewPath)
   }
  }
 
  return nil
 })
 
 return err
}

6. 遍歷指定文件夾中的所有文件(不進入下一級子目錄)

/* 獲取指定路徑下的所有文件,只搜索當前路徑,不進入下一級目錄,可匹配后綴過濾(suffix為空則不過濾)*/
func ListDir(dir, suffix string) (files []string, err error) {
   files = []string{}
 
   _dir, err := ioutil.ReadDir(dir)
   if err != nil {
      return nil, err
   }
 
   suffix = strings.ToLower(suffix)  //匹配后綴
 
   for _, _file := range _dir {
      if _file.IsDir() {
         continue   //忽略目錄
      }
      if len(suffix) == 0 || strings.HasSuffix(strings.ToLower(_file.Name()), suffix) {
         //文件后綴匹配
         files = append(files, path.Join(dir, _file.Name()))
      }
   }
 
   return files, nil
}

7. 遍歷指定路徑及其子目錄中的所有文件

/* 獲取指定路徑下以及所有子目錄下的所有文件,可匹配后綴過濾(suffix為空則不過濾)*/
func WalkDir(dir, suffix string) (files []string, err error) {
 files = []string{} 
 err = filepath.Walk(dir, func(fname string, fi os.FileInfo, err error) error {
  if fi.IsDir() {
   //忽略目錄
   return nil
  }
 
  if len(suffix) == 0 || strings.HasSuffix(strings.ToLower(fi.Name()), suffix) {
   //文件后綴匹配
   files = append(files, fname)
  }
 
  return nil
 })
 
 return files, err
}

8. 刪除文件

os.Remove(filename)

9. 刪除文件夾及其包含的所有子目錄和所有文件

os.RemoveAll(dir)

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

您可能感興趣的文章:
  • 解決go build不去vendor下查找包的問題
  • 解決GOPATH在GOLAND中的坑
  • golang 如何刪除二進制文件中的源碼路徑信息
  • Golang 刪除文件并遞歸刪除空目錄的操作
  • go run main.go 一直提示找不到包的解決方案

標簽:汕頭 重慶 雞西 欽州 吐魯番 梅河口 蘭州 銅川

巨人網絡通訊聲明:本文標題《Golang 文件操作:刪除指定的文件方式》,本文關鍵詞  Golang,文件,操作,刪除,指,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang 文件操作:刪除指定的文件方式》相關的同類信息!
  • 本頁收集關于Golang 文件操作:刪除指定的文件方式的相關信息資訊供網民參考!
  • 推薦文章
    日韩av成人| 美女免费毛片| 日韩中文字幕一区二区不卡| 欧美国产日韩一区二区三区| 日韩男人天堂| 韩国三级香港三级日本三级la | 欧美日本国产| 亚洲精品中文一区不卡| 亚洲精品影院| 欧美激情一区二区三区在线播放| 日韩av成人| 精品国产一区二区三区精东影业| 欧美日本二区| 99色播| 精品国产一区二区三区久久久狼| 可以免费在线看黄的网站| 欧美另类videosbestsex高清| 二级片在线观看| 天天做日日干| 台湾毛片| 999精品在线| 美女被草网站| 黄视频网站免费观看| 亚欧乱色一区二区三区| 成人免费网站久久久| 欧美另类videosbestsex高清| 日韩中文字幕在线观看视频| 亚洲第一视频在线播放| 国产不卡在线观看| 国产视频久久久| 国产麻豆精品免费视频| 美女免费精品视频在线观看| 免费国产在线观看不卡| 免费国产在线观看不卡| 四虎久久影院| 日本免费区| 国产视频一区在线| 日日日夜夜操| 日韩中文字幕一区| 国产麻豆精品免费密入口| 国产伦精品一区二区三区在线观看 | 一级毛片视频免费| 欧美国产日韩久久久| 国产一区免费在线观看| 99久久精品国产麻豆| 可以免费看污视频的网站| 日韩综合| 中文字幕一区二区三区精彩视频| 国产视频久久久| 你懂的日韩| 精品视频免费观看| 美女免费精品视频在线观看| 精品视频在线观看一区二区三区| 91麻豆精品国产高清在线| 国产成人精品综合在线| 国产不卡在线看| 尤物视频网站在线| 日韩免费片| 超级乱淫伦动漫| 日韩专区第一页| 成人免费网站久久久| 国产成人精品一区二区视频| a级黄色毛片免费播放视频| 999久久久免费精品国产牛牛| 麻豆系列 在线视频| 精品视频一区二区三区| 亚洲 激情| 精品久久久久久中文| 国产网站在线| 香蕉视频一级| 精品久久久久久中文字幕一区| 国产综合成人观看在线| 欧美激情在线精品video| 精品视频在线观看一区二区三区| 精品国产亚洲一区二区三区| 国产不卡在线观看视频| 91麻豆国产福利精品| 日韩一级黄色大片| 国产美女在线一区二区三区| 国产亚洲精品成人a在线| 夜夜操网| 精品久久久久久中文字幕一区| 免费国产在线视频| 欧美电影免费| 一级女性全黄久久生活片| a级毛片免费观看网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产成+人+综合+亚洲不卡| 精品视频一区二区| 夜夜操网| 精品国产香蕉伊思人在线又爽又黄| 99色播| 国产视频久久久| 国产精品免费精品自在线观看| 你懂的国产精品| 免费一级片在线观看| 久久99中文字幕久久| 91麻豆高清国产在线播放| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久精品欧美一区二区| 国产麻豆精品免费视频| 久草免费在线观看| a级黄色毛片免费播放视频| 久久精品人人做人人爽97| 日本在线播放一区| 久久99中文字幕| 精品国产三级a| 国产伦精品一区三区视频| 日本伦理网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 青青青草影院| 精品视频在线观看一区二区| 国产精品免费精品自在线观看| 欧美一级视频免费| 国产高清在线精品一区a| 国产视频久久久| 国产国产人免费视频成69堂| 精品国产三级a| 一级女人毛片人一女人| 四虎影视库| 国产a一级| 青青青草视频在线观看| 色综合久久天天综合观看| 成人在激情在线视频| 高清一级做a爱过程不卡视频| 亚洲精品永久一区| 美女被草网站| 欧美电影免费| 国产国语对白一级毛片| 亚洲精品中文字幕久久久久久| 欧美激情一区二区三区视频高清 | 久草免费资源| 999久久狠狠免费精品| 精品国产一区二区三区久久久蜜臀 | 欧美另类videosbestsex视频| 精品在线免费播放| 日韩专区第一页| 黄色免费三级| 可以免费在线看黄的网站| 国产91丝袜在线播放0| 日本在线不卡视频| 九九干| 国产一区二区精品| 日韩av片免费播放| 亚洲第一色在线| 欧美a级片视频| 久久精品人人做人人爽97| 欧美国产日韩久久久| 国产一区二区精品久久91| 成人高清视频在线观看| 日韩av成人| 成人在免费观看视频国产| 精品视频在线观看免费| 免费国产在线观看| 国产麻豆精品视频| 久久99这里只有精品国产| 国产a视频精品免费观看| 中文字幕一区二区三区 精品| 91麻豆tv| 国产91丝袜在线播放0| 九九干| 免费毛片基地| 国产一区二区精品久久91| 午夜精品国产自在现线拍| 成人在激情在线视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久99爰这里有精品国产| 欧美激情一区二区三区在线| 成人免费高清视频| 日韩综合| 久草免费在线观看| 亚欧乱色一区二区三区| 久久久久久久免费视频| 欧美激情在线精品video| 国产精品免费久久| 国产亚洲精品成人a在线| 久久精品成人一区二区三区| 午夜精品国产自在现线拍| 亚洲第一页色| 久久福利影视| 日本伦理片网站| 欧美大片一区| 精品视频在线观看免费| 成人a大片在线观看| 日韩一级黄色大片| 青青久久国产成人免费网站| 精品视频在线观看视频免费视频| 成人高清视频免费观看| 二级片在线观看| 免费一级片在线| 日日日夜夜操| 一级片片| 日韩av成人| 99久久网站| 国产伦久视频免费观看 视频| 国产视频一区二区在线观看| 你懂的国产精品| 久久精品大片| 色综合久久天天综合观看|