BufferedInputStream和BufferedOutputStream的使用实例

package io;

import org.junit.Test;

import java.io.*;

public class BufferedStreamDemoTest {
    private String path0 = System.getProperty("user.dir") + "/src/main/resources/copy0.txt";

    private String path = System.getProperty("user.dir") + "/src/main/resources/d.txt";
    private File file = null;
    private BufferedInputStream bis = null;
    private BufferedOutputStream bos = null;

    @Test
    public void copyTxt() throws Exception{
        file = new File(path0);
        bis = new BufferedInputStream(new FileInputStream("C:\Users\15082157\Desktop\自我介绍.txt"));
        bos = new BufferedOutputStream(new FileOutputStream(file));
        if (!(file.exists())) {
            file.createNewFile();
            BufferedStreamCopy();
        } else {
            BufferedStreamCopy();
        }
    }


    @Test
    public void copyMp4() throws Exception {
        String path1 = System.getProperty("user.dir") + "/src/main/resources/copy.mp4";
        file = new File(path1);
        bis = new BufferedInputStream(new FileInputStream("C:\Users\15082157\Desktop\3-4视频19秒.mp4"));
        bos = new BufferedOutputStream(new FileOutputStream(file));
        if (!(file.exists())) {
            file.createNewFile();
            BufferedStreamCopy();
        } else {
            BufferedStreamCopy();
        }
    }

    public void BufferedStreamCopy() throws Exception {
        byte[] buffer = new byte[1024];  // 创建一个长度是1024的byte类型的数组,用于存储读取到的数据
        int byteRead = 0;
        long beginTime = getCurrentTime1();
        while ((byteRead = bis.read(buffer)) != -1) {
            bos.write(buffer, 0, byteRead);
            bos.flush();
        }
        long endTime = getCurrentTime1();
        float time = (endTime - beginTime) / 1000F;
        System.out.println("copy时间为" + time + "s");
        bis.close();
        bos.close();
    }

    public long getCurrentTime1() {
        long currentTime = System.currentTimeMillis();
        System.out.println(currentTime);
        return currentTime;
    }
}
原文地址:https://www.cnblogs.com/KevinFeng/p/12955333.html