您的位置:首页 > 编程语言 > Java开发

java将d盘的一个mp4视频文件复制到f盘

2018-02-14 14:58 267 查看
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo1 {
// 将d盘的一个map4文件复制到f盘
//可能出现文件找不到的异常,这里把异常抛出去
public static void stream() throws IOException {
// 不用缓冲区
FileInputStream fis = new FileInputStream("d:/test.mp4");//要复制的文件
FileOutputStream fos = new FileOutputStream("e:/test.mp4");//文件的目的路径及文件名
int len = 0;//声明一个变量储存读取的内容
long startTime = System.currentTimeMillis();//开始时间
while ((len = fis.read()) != -1) {//假如文件未读完

fos.write(len);//将读取的文件写入到目的路径
}
long endTime = System.currentTimeMillis();//结束时间
System.out.println("不带缓冲花费时间" + (endTime - startTime));

}

/**
* 用缓冲区

* @throws IOException

*/

public static void stream2() throws IOException {
FileInputStream fis = new FileInputStream("d:/test.mp4");
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream("e:/test1.mp4");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int len = 0;
long startTime = System.currentTimeMillis();
while ((len = bis.read()) != -1) {

bos.write(len);
}
long endTime = System.currentTimeMillis();
System.out.println("带缓冲花费时间" + (endTime - startTime));

}

public static void main(String[] args) throws IOException {

//对比两种方法的时间差,不带缓冲区时间过长,是带缓冲区的若干倍
 stream();//不带缓冲区的复制方法
stream2();//带缓冲区的复制方法

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: