博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Golang学习日志 ━━ 使用bufio方法拷贝文件将导致mov视频文件出错
阅读量:4116 次
发布时间:2019-05-25

本文共 1456 字,大约阅读时间需要 4 分钟。

分别使用和不使用buff来复制文件,将可能造成mov视频文件有不知名错误。

以下为一般的拷贝并删除方法,拷贝后的文件没有错误。

func CutFileCom(srcFilePath string, dstFilePath string) error {
srcFile, err := os.Open(srcFilePath) if err != nil {
fmt.Printf("打开源文件错误,错误信息=%v\n", err) return err } //defer srcFile.Close() dstFile, err := os.OpenFile(dstFilePath, os.O_WRONLY|os.O_CREATE, 0777) if err != nil {
fmt.Printf("打开目标文件错误,错误信息=%v\n", err) return err } defer dstFile.Close() _, err = io.Copy(dstFile, srcFile) if err != nil {
fmt.Printf("复制目标文件错误,错误信息=%v\n", err) return err } //删除 srcFile.Close() err = os.Remove(srcFilePath) if err != nil {
fmt.Printf("删除目标文件错误,错误信息=%v\n", err) return err } err = nil return err}

以下为使用bufio方法复制并删除文件,其它文件暂未发现有什么问题,主要是mov视频文件用此方法拷贝后将无法使用windows10自带播放器播放,会提示出错,也不会生成缩略图;只能使用potplayer打开。

func CutFileBufio(srcFilePath string, dstFilePath string) error {
srcFile, err := os.Open(srcFilePath) if err != nil {
fmt.Printf("打开源文件错误,错误信息=%v\n", err) return err } reader := bufio.NewReader(srcFile) dstFile, err := os.OpenFile(dstFilePath, os.O_WRONLY|os.O_CREATE, 0777) if err != nil {
fmt.Printf("打开目标文件错误,错误信息=%v\n", err) return err } writer := bufio.NewWriter(dstFile) defer dstFile.Close() _, err = io.Copy(writer, reader) if err != nil {
fmt.Printf("复制目标文件错误,错误信息=%v\n", err) return err } //删除 srcFile.Close() err = os.Remove(srcFilePath) if err != nil {
fmt.Printf("删除目标文件错误,错误信息=%v\n", err) return err } err = nil return err}

转载地址:http://htkpi.baihongyu.com/

你可能感兴趣的文章
【前端面试题】06—16道设计模式面试题(附答案)
查看>>
400 道前端常考必考面试题(附答案详解)
查看>>
Vue中实现输入框Input输入格式限制
查看>>
我的一些关于职场和职业发展的心得
查看>>
9种HTML中通过CSS方式隐藏元素的方法汇总
查看>>
JavaScript队列和双端队列
查看>>
一些常用的语音特征提取算法
查看>>
【前端面试题】07—47道基础的VueJS面试题(附答案)
查看>>
4种JavaScript中获取HTML元素的方式
查看>>
6种iframe高度自适应的方法
查看>>
【前端面试题】08—31道有关前端工程化的面试题(附答案)
查看>>
iframe在iphone手机上的问题与解决方案
查看>>
用HTML5 Canvas组件实现图像灰度化
查看>>
【前端面试题】09—44道常见Augluar基础面试题下(附答案)
查看>>
JavaScript一些常用 API整理汇总
查看>>
【前端面试题】10—21道关于性能优化的面试题(附答案)
查看>>
JavaScript创建或填充任意长度的数组
查看>>
常用JavaScript代码片段汇总
查看>>
【前端面试题】11—18道有关模块化开发的面试题(附答案)
查看>>
强大的原型和原型链
查看>>