zoukankan      html  css  js  c++  java
  • [GO]二进制文件的拷贝

    writestring的方式只适用于字符串的写入,对于十进制文件的写入只要使用write就可以了

    package main
    
    import (
        "os"
        "fmt"
        "io"
    )
    
    func main() {
        list := os.Args
        if len(list) != 3 {
            fmt.Println(" usage: xxx srcFile dstFile")
            return
        }
        srcFileName := list[1]
        dstFileName := list[2]
    
        if srcFileName == dstFileName{
            fmt.Println("源文件和目的文件不能相同")
            return
        }
        //只读方式打开源文件
        sF, serr := os.Open(srcFileName)
        if serr != nil{
            fmt.Println(" serr = ", serr)
            return
        }
        //新建目标文件
        dF, derr := os.Create(dstFileName)
        if serr != nil{
            fmt.Println(" derr = ", derr)
            return
        }
        //操作完成,关闭文件
        defer dF.Close()
        defer sF.Close()
    
        //核心处理,从源文件获取内容,往目的文件写,读多少写多少
        buf := make([]byte, 1024*4)//4k大小缓冲区
        for true {
            n, err := sF.Read(buf)
            if err != nil {
                if err == io.EOF{ //代表文件读取完成
                    break
                }
                fmt.Println("err = ", err)
            }
            //往目的文件写,读多少写多少
            dF.Write(buf[:n])
        }
    }

    然后使用命令进行exe文件的创建

    E:awesomeProject>go build 文件拷贝.go

    然后直接运行程序就可以了

    E:awesomeProject>文件拷贝.exe errors接口的使用.go  errors接口的使用copy.go

  • 相关阅读:
    实现点击预览图片更改页面背景图片的效果
    JavaScript中赋值运算符的使用
    Visual Studio常用快捷键
    循 环 嵌 套
    控制摄像头拍照
    运用<body>属性,渲染页面效果
    子查询的易错点
    随机数
    PDO获取数据乱码的解决方法
    JavaScript中比较运算符的使用
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9669876.html
Copyright © 2011-2022 走看看