龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > Golang > Golang-IO操作拷贝文件

Golang-IO操作拷贝文件

龙行    Golang    2020-6-26    423    0评论    
package main

import (
   "fmt"
   "io"
   "os"
)

/**
 * 判断文件是否存在  存在返回 true 不存在返回false
 */
func checkFileIsExist(filename string) bool {
   var exist = true
   if _, err := os.Stat(filename); os.IsNotExist(err) {
      exist = false
   }
   return exist
}

func main(){
   /*
   源文件->程序->目标文件
    */

   srcFile := "D:\\work\\go\\hhhh\\aa.txt"
   desFile := "ab.txt"

   total,err := CopyFile(srcFile,desFile)
   fmt.Println(total,err)
}
func CopyFile(srcFile, desFile string)(int ,error){
   var file *os.File
   var err error
   file,err = os.Open(srcFile)
   if err != nil {
      return 0,err
   }
   file1,err := os.OpenFile(desFile,os.O_WRONLY|os.O_CREATE,os.ModePerm)
   if err != nil {
      return 0,err
   }
   defer file.Close()
   defer file1.Close()
   bs := make([]byte,1024,1024)
   n := -1
   total := 0
   for{
      n,err = file.Read(bs)
      if err == io.EOF || n == 0{
         fmt.Println("拷贝完毕")
         break
      }else if err != nil {
         fmt.Println("报错了")
         return total,err
      }
      total += n
      file1.Write(bs[:n])

   }
   return total,nil
}


评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/369.html
  • 上篇文章:Thinkphp6-自定义指令
  • 下篇文章:Golang简单写文件操作的四种方法
  • go golang
快捷导航
联系博主
在线壁纸
给我留言
四四五五
音乐欣赏
返回顶部