package main

import (
"bufio"
"fmt"
"io"
"os"
) /*
·使用缓冲读写实现视频文件的拷贝;
*/ func main() {
//报路径参数错误时【file name,directory name,or volumn label syntax is incorrect】,手动重写一下路径 /*打开源文件和目标文件*/
srcFile, err1 := os.Open("文件读写.wmv")
dstFile, err2 := os.OpenFile("撸码痴汉.avi", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666)
if err1!=nil || err2!=nil {
fmt.Println("open failed,err=",err1,err2)
return
} /*最终关闭源文件和目标文件*/
defer func() {
srcFile.Close()
dstFile.Close()
}() //创建源文件的读取器
reader := bufio.NewReader(srcFile)
//创建目标文件的写出器
writer := bufio.NewWriter(dstFile) //创建1K大小的缓冲区(读到的数据先丢入该“桶”,再将该桶中的数据倒入目标文件)
buffer := make([]byte, 1024) for {
//从源文件中读取一桶数据
n, err := reader.Read(buffer) if err != nil{
//读到文件末尾时退出读写循环
if err == io.EOF{
fmt.Println("已到文件末尾")
break
}
fmt.Println("读取失败,err=",err)
}else{
fmt.Printf("成功读取%d个字节\n",n)
//fmt.Println(buffer) //将桶中的数据写出到目标文件
writer.Write(buffer)
}
} //将系统缓存中的内容一次性注入到文件(清空缓存)
writer.Flush() fmt.Println("copy ok!")
}

  

GO文件读写03---使用缓冲读写实现视频文件的拷贝的更多相关文章

  1. 实现读入一个彩色视频文件并以灰度格式输出这个视频文件,学习opencv例2-10

    #include "cv.h"#include "highgui.h"int main(int argc,char* argv[]){ //书本中的main没有 ...

  2. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  3. atitit.mp4 视频文件多媒体格式结构详解

    atitit.mp4 视频文件多媒体格式结构详解 1. 一.基本概念1 2. MP4文件概述2 3. mp4是由一个个“box”组成的,2 4. 典型简化mp43 5. Fragments5 6. r ...

  4. android 播放assets文件里视频文件的问题

    今天做了一个功能,就是播放项目工程里面的视频文件,不是播放SD卡视频文件. 因为之前写webview加载assets文件夹时,是这样写的: webView = new WebView(this); w ...

  5. Android必知必会-获取视频文件的截图、缩略图

    背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取 ...

  6. C#打开office文件,pdf文件和视频文件

    打开office文件 1 需要从网站下载dsoframer.ocx文件 2 把dsoframer.ocx文件复制到c:\windows\system32目录下 开始->运行->regsvr ...

  7. Golang的文件处理方式-常见的读写姿势

    Golang的文件处理方式-常见的读写姿势 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在 Golang 语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄 ...

  8. Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】

    ———————————————————————————————————————————从文件中读写字符串(直接读写/通过NSURL读写) #import <Foundation/Foundati ...

  9. 从零开始学C++之IO流类库(三):文件的读写、二进制文件的读写、文件随机读写

    一.文件的读写 如前面所提,流的读写主要有<<, >>, get, put, read, write 等操作,ofstream 继承自ostream, ifstream 继承自 ...

随机推荐

  1. ingress controller 和ingress使用实例

    ingress controller安装 k8s集群版本:1.15+ 官方文档: https://kubernetes.github.io/ingress-nginx/ 创建基础配置 kubectl ...

  2. 【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决?

    问题描述 备份网站时由于文件太大了,导致应用服务备份失败.如何解决呢? 问题分析 App Service (应用服务)的备份功能有10GB大小的限制,超过了是无法备份成功的并且该限制是无法扩大的.查看 ...

  3. 计算机网络第一章bb测试

    错题8,31 课程 211计算机网络 测试 网络概论与体系结构 状态 已完成 尝试分数 得 340 分,满分 360 分 已用时间 14 分钟 说明 第一章 网络概论测试 显示的结果 所有答案, 已提 ...

  4. PHP laravel系列之Blade模版

    一.什么是Blade模版? Blade 是 Laravel 提供的一个既简单又强大的模板引擎. 和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图中使用原生 PHP 代码.所有 Bla ...

  5. 各种数据类型是否可进入if判断

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. SpringCloud之Ribbon负载均衡策略

    Spring Cloud 微服务架构学习记录与示例 一.认识Ribbon 首先咱们需要认识下负载均衡,一般分为服务器端负载和客户端负载均衡. 服务器端负载均衡:比如Nginx.F5,请求达到服务器后由 ...

  7. 3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?

    前言 曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作.这种观点可能是很多Android开发者最开始入行的原因之一. 在工作初期,工作主要是按照业务需求实 ...

  8. (ML邹博)回归

    目录 线性回归 高斯分布 最大似然估计 最小二乘法的本质 Logistic回归 工具 梯度下降算法 最大似然估计 线性回归 对于单个变量: y=ax+b 对于多个变量: 使用极大似然估计解释最小二乘法 ...

  9. seccomp沙盒逃逸基础——沙盒的规则编写

    seccomp沙盒逃逸基础--沙盒的规则编写 引入: 安全计算模式 seccomp(Secure Computing Mode)是自 Linux 2.6.10 之后引入到 kernel 的特性.一切都 ...

  10. 解决GET http://localhost:8080/js/layui/layui.js net::ERR_ABORTED 404

    用ssm+layui在写页面的时候,发现无法找到资源路径 <script src="js/layui/layui.js" charset="utf-8"& ...