拷贝音频、视频、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();
    }
}
相关推荐
辞旧 lekkk1 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
帅次2 小时前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
dtq04243 小时前
C语言-结构体详解
c语言·开发语言·学习
梅雅达编程笔记4 小时前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
持力行4 小时前
C++与Java变量声明、定义及内存分配的核心区别
java·开发语言·c++
jinyishu_5 小时前
C++ 继承全解:从基础到高级特性
开发语言·c++
北域码匠6 小时前
Karatsuba乘法超详细解析(原理+流程+性能分析+纯原生C#无第三方库完整实现)
算法·c#·大数乘法·高精度计算·数据结构与算法·分治算法·karatsuba 乘法
蜡台6 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
小喻同学i7 小时前
std::thread函数参数传递
开发语言·c++
syker8 小时前
WinMaster v0.3.3 完整使用手册
c#