拷贝音频、视频、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();
    }
}
相关推荐
努力学习的小廉3 分钟前
Python基础——搭建 Python 环境
开发语言·python
公子小六4 分钟前
基于.NET的Windows窗体编程之WinForms控件简介
windows·microsoft·c#·.net
luanma1509805 分钟前
Laravel 4.x:现代PHP框架的奠基之作
开发语言·php·laravel
清水白石00813 分钟前
Python 编程全景解析:四大核心容器的性能较量、语义之美与高阶实战
开发语言·数据库·python
淀粉肠kk14 分钟前
【C++】C++11 Lambda表达式
开发语言·c++
南境十里·墨染春水15 分钟前
CMake核心用法(贴合C++编译场景)
开发语言·c++
Rust语言中文社区20 分钟前
【Rust日报】 Danube Messaging - 云原生消息平台
开发语言·后端·rust
kaikaile199524 分钟前
微电网两阶段鲁棒优化经济调度MATLAB实现
开发语言·matlab
liuyao_xianhui25 分钟前
优选算法_栈_删除字符中的所有相邻重复项_C++
开发语言·数据结构·c++·python·算法·leetcode·链表
逝水如流年轻往返染尘28 分钟前
JAVA中的内部类
java·开发语言