婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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 文件操作:刪除指定的文件方式的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一级生活片| 欧美日韩精品三区| 91丝袜美腿高跟国产极品老师| 欧美精品电影在线播放| 中文字幕在线一区二区三区| 国产福利一区在线| 久久亚洲综合色一区二区三区| 日韩电影一二三区| 在线成人高清不卡| 午夜视黄欧洲亚洲| 欧美日韩精品系列| 日日骚欧美日韩| 欧美日韩国产a| 午夜久久久久久电影| 欧美综合亚洲图片综合区| 亚洲男同1069视频| 91福利在线播放| 亚洲精品综合在线| 一本到不卡精品视频在线观看| 国产精品素人一区二区| 国产乱色国产精品免费视频| 国产午夜亚洲精品羞羞网站| 丁香激情综合五月| 国产精品超碰97尤物18| 91色porny在线视频| 国产日韩欧美制服另类| 波多野洁衣一区| 成人免费小视频| 成av人片一区二区| 国产精品久久久久久久第一福利| 国产精品一区二区果冻传媒| 日韩视频不卡中文| 经典三级在线一区| 久久精品在线免费观看| 国产夫妻精品视频| 国产精品免费免费| 欧美性videosxxxxx| 日本三级亚洲精品| 久久综合网色—综合色88| 成av人片一区二区| 三级不卡在线观看| 国产成人综合在线| 国产日本欧洲亚洲| 99re免费视频精品全部| 国产精品1区二区.| 日韩av电影天堂| 美国一区二区三区在线播放| 亚洲欧美色一区| 亚洲午夜精品在线| 免费人成在线不卡| 激情成人综合网| 99视频在线精品| 制服丝袜中文字幕亚洲| 91精品一区二区三区久久久久久 | 国产成人av电影在线| 成人性生交大片免费看中文| 国产成人精品免费网站| av在线一区二区| 国产91精品欧美| 久久福利资源站| 国产伦理精品不卡| 欧美日韩在线观看一区二区| 日韩一区二区三区免费看| 国产精品天干天干在线综合| 午夜免费欧美电影| 亚洲夂夂婷婷色拍ww47 | 婷婷开心激情综合| 日本在线不卡一区| 91麻豆免费在线观看| 久久精品免费观看| 久久欧美中文字幕| 欧美亚洲愉拍一区二区| 国产999精品久久久久久| 亚洲午夜久久久| 欧美国产视频在线| 日韩精品一区二区三区在线观看| 91网上在线视频| 国产美女在线观看一区| 日韩激情一二三区| 中文字幕在线视频一区| 久久久高清一区二区三区| 欧美三区在线观看| 99riav久久精品riav| 国产伦精品一区二区三区在线观看| 日韩精品一二区| 亚洲福利电影网| 国产午夜精品在线观看| 欧美三级在线看| 在线影院国内精品| 色网综合在线观看| 欧美tickling网站挠脚心| 在线看一区二区| 国产99一区视频免费| 久久成人羞羞网站| 人人狠狠综合久久亚洲| 亚洲成人激情社区| 亚洲国产日韩一区二区| 夜夜嗨av一区二区三区四季av| 中文字幕一区在线观看视频| 久久亚洲综合av| 精品三级在线观看| www国产亚洲精品久久麻豆| 日韩女同互慰一区二区| 日韩视频一区二区在线观看| 日韩欧美一区二区久久婷婷| 精品欧美一区二区三区精品久久| 日韩美女视频在线| 欧美v亚洲v综合ⅴ国产v| 欧美mv和日韩mv的网站| 久久婷婷一区二区三区| 久久精品视频在线免费观看| 国产片一区二区| 91最新地址在线播放| 成人黄色777网| 97精品电影院| 欧美在线短视频| 在线观看日韩av先锋影音电影院| 91在线观看视频| 91亚洲精品一区二区乱码| av色综合久久天堂av综合| 99re免费视频精品全部| 在线视频综合导航| 色噜噜狠狠色综合欧洲selulu| 91麻豆免费看| 91色九色蝌蚪| 欧美一区二区三区婷婷月色| 欧美日韩一区三区四区| 日韩欧美一二三区| 久久免费美女视频| 亚洲视频免费在线观看| 亚洲视频在线一区| 亚洲福利国产精品| 国产一区二区在线视频| 国产精品一区二区你懂的| 91老师国产黑色丝袜在线| 欧美一区二区三区电影| 国产人久久人人人人爽| 国产精品的网站| 蜜臀99久久精品久久久久久软件| 久久国产尿小便嘘嘘尿| 国产成人综合在线| 在线视频欧美精品| 欧美一区二区二区| 久久久99精品免费观看| 一区二区三区日韩在线观看| 午夜天堂影视香蕉久久| 高清不卡一区二区| 欧美人成免费网站| 久久久亚洲国产美女国产盗摄 | 精品在线播放午夜| 成人三级在线视频| 欧美区一区二区三区| 久久综合色一综合色88| 中文字幕永久在线不卡| 日韩av一二三| 99这里只有精品| 日韩网站在线看片你懂的| 国产精品视频观看| 日本三级亚洲精品| 风间由美性色一区二区三区| 欧美三电影在线| 国产精品成人一区二区艾草| 日韩成人午夜电影| 91丨porny丨最新| 国产亚洲欧美日韩日本| 日本午夜一本久久久综合| 色婷婷av一区| 日韩欧美一区在线| 夜夜夜精品看看| 国产成人综合精品三级| 日韩亚洲欧美在线| 亚洲大片精品永久免费| 成人午夜免费av| 精品成人私密视频| 日日夜夜一区二区| 欧美视频精品在线| 国产精品久久久久久亚洲毛片| 亚洲精品美腿丝袜| 99精品欧美一区| 国产精品免费丝袜| 国产高清成人在线| 久久久精品人体av艺术| 蜜芽一区二区三区| 欧美日韩和欧美的一区二区| 亚洲欧美日韩国产手机在线| 成人在线一区二区三区| 久久久久国产成人精品亚洲午夜| 美女尤物国产一区| 欧美电视剧免费全集观看| 日韩av电影天堂| 欧美二区在线观看| 亚洲成av人片在线观看无码| 在线一区二区三区四区| 一区二区三区四区在线| 在线亚洲高清视频| 亚洲图片欧美视频| 欧美视频在线一区| 亚洲成人动漫在线免费观看| 欧美蜜桃一区二区三区| 日韩不卡免费视频|