拷贝音频、视频、word等二进制文件的实现方法,不掉帧

拷贝音频、视频、word等二进制文件的实现方法:

演示使用BufferedOutputStream 和 BufferedInputStream 使用

使用他们,可以完成二进制文件

思考:字节流可以操作二进制文件,可以操作文本文件吗?True

java 复制代码
public class BufferedInputStreamCopy_ {
    public static void main(String[] args) throws IOException {
        String srcPath = "E:\\demo.java";
        String destPath = "E:\\Copy.java";
        byte[] buf = new byte[1024];
        int bufLen = 0;
        //创建两个Buffered数据流
        BufferedInputStream bI = null;
        BufferedOutputStream bO = null;
        //创建两个字节流
        FileInputStream fIs =new FileInputStream(srcPath);
        FileOutputStream fOs = new FileOutputStream(destPath);
        bI= new BufferedInputStream(fIs);
        bO =new BufferedOutputStream(fOs);
        //当返回-1时,就表示文件读取完毕
        while((bufLen=bI.read(buf))!=-1){
//            bO.write(buf,0,bufLen);
            bO.write(buf);
            /**当拷贝二进制文件时,只能使用字节流进行操作
             * 读取多少,就写入多少,使用write(byte[] b,int off,int len);
             * 如果使用write(byte[] b);代表每次都写入1024个字节,效果基本一致,建议第一种
             */
        }
        System.out.println("文件拷贝成功!");
        bI.close();
        bO.close();
    }
}
相关推荐
北冥you鱼7 小时前
Go 语言 Channel 机制详解:从原理到实战
开发语言·后端·golang
谢亮_vipxieliang7 小时前
Go 并发控制进阶:sync 包高级原语与 Context 生命周期管理
开发语言·后端·golang
xuxigifxfh8 小时前
HJ5 进制转换
java·开发语言·华为机考
denlaku8 小时前
JDK 12 新特性详解
java·开发语言
Nebula_g8 小时前
JavaSE拓展:可变参数
java·开发语言·算法·安全·javase·可变参数
anew___8 小时前
《从零手写操作系统 (30):环境变量与进程上下文——export/unset与继承语义》
java·开发语言·网络·jvm·算法
Cx330❀8 小时前
Qt 多线程深度解析:从底层原理到 UI 线程与同步实战
开发语言·qt·ui·搜索引擎·性能优化·图形渲染
谢亮_vipxieliang9 小时前
Go GMP调度模型——从原理到实战的完整指南
开发语言·网络·golang
UIU1149 小时前
头文件可以防什么错?运用头文件做声明
c++·学习·c#
聪明蛋子哟9 小时前
Python与Java双栈实战:手撸一个支持RAG与Tool Calling的高性能Agent框架
java·开发语言·python