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

package main

import (
"os"
"fmt"
"io"
) func main() {
list := os.Args
if len(list) != {
fmt.Println(" usage: xxx srcFile dstFile")
return
}
srcFileName := list[]
dstFileName := list[] 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, *)//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

[GO]二进制文件的拷贝的更多相关文章

  1. Alpine容器中运行go的二进制文件

    Alpine容器中运行go的二进制文件 kuSorZ · 3月之前 · 214 次点击 · 预计阅读时间 1 分钟 · 2分钟之前 开始浏览 原文出处:https://cloud.tencent.co ...

  2. Ejabberd外部组件开发

    Ejabberd的基本介绍就不多言了,使用erlang开发的高并发高稳定性XMPP服务器,在whatsapp中得到了应用,算是erlang领域一个杀手级应用.前面的文章中我已经总结了Ejabberd插 ...

  3. 【转】 iOS 开发之静态库.a和动态库详解 -- 不错

    原文网址:http://blog.csdn.net/lxl_815520/article/details/52154331 一, 简单介绍 1.什么是库 库是程序代码的集合,是共享程序代码的一种方式 ...

  4. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

  5. Linux从入门到入门

    一. 前言 首先,在你的Windows系统上要想有linux系统,那就必须先安装一款软件,这里提供的是14.15的,还有ISO镜像:VMware-workstation 安装VMware:略 新建虚拟 ...

  6. Kubernetes集群搭建之CNI-Flanneld部署篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 Flannel是CoreOS提供用于解决Dokcer集群跨主机通讯的覆盖网络工具.它的主要思路 ...

  7. Nginx系列0:Nginx学习历程

    Nginx学习历程 一.初识Nginx 1.Nginx适用于哪些场景 (1)静态资源服务 通过本地文件系统提供服务 (2)反向代理服务 Nginx的强大性能 缓存 负载均衡 (3)API服务 Open ...

  8. golang代码覆盖率

    写了自动化,就得统计代码覆盖率= = 原链接:https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests 其实看了原链 ...

  9. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

随机推荐

  1. 解决: Project facet Java version 1.8 is not supported

    背景 从别处Import一个Java project之后,Eclipse提示“Project facet Java version 1.8 is not supported”. 分析 从错误的描述来看 ...

  2. DynamicConverter

    folly/DynamicConverter.h When dynamic objects contain data of a known type, it is sometimes useful t ...

  3. Java多线程同步机制(synchronized)

    参看:http://enetor.iteye.com/blog/986623

  4. IO模型之非阻塞IO

    1. IO模型非阻塞 IO Linux下,可以通过设置socket使其变为 non-blocking.当对一个non-blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用 ...

  5. cookie加密

    Cookie中的数据以文本的形式存在客户端计算机,考虑它的安全性,最好在将数据存入Cookie之前对其进行加密. 加密的方法很多,比较简单一点的有:Base64,md5,sha等,而相对比较复杂一点的 ...

  6. git commit时候出现的问题

    git commit 提交的时候,出现*** Please tell me who you are. git config --global ...问题 1 $ git commit -a -m 'v ...

  7. nginx 代理http配置实例

    #user nginx; worker_processes ; #error_log /var/log/nginx/error.log warn; #pid /var/run/nginx.pid; e ...

  8. sql developer Oracle 数据库 用户对象下表及表结构的导入导出

    Oracle数据库表数据及结构的导入导出   导出的主机与即将导入到的目标主机的tablespace 及用户名需一直!!!!!

  9. vue之slot,组件标签嵌套

    vue之slot,组件标签嵌套 插槽(Slot),在各种vue的ui插件中,经常见到的多个组件标签相互嵌套(如下)就是以此为基础的. <el-col > <el-checkbox & ...

  10. C/C++快速入门

    sscanf与sprint 均在stdio.h头文件下 sscanf用法 sscanf(str, "%d", &n); // 将str中内容以"%d"的 ...