本文主要是介绍JAVA——实现字节流四种方式复制AVI并测试效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*
* 字节流四种方式复制AVI并测试效率
* 1 基本的字节流一次读写一个字节 : 耗时:231595
* 2 基本的字节流一次读写一个字节数组 : 耗时:320
* 3 高效的字节流一次读写一个字节 : 耗时:1363
* 4 高效的字节流一次读写一个字节数组 : 耗时:87
*
*
* System类 :
* public static long currentTimeMillis() : 返回以毫秒为单位的当前时间
*/
代码如下:
public class Demo1 {public static void main(String[] args) throws IOException {long time1 = System.currentTimeMillis();// 基本的字节流一次读写一个字节// method1();// 基本的字节流一次读写一个字节数组// method2();// 高效的字节流一次读写一个字节// method3();// 高效的字节流一次读写一个字节数组method4();long time2 = System.currentTimeMillis();System.out.println("耗时:" + (time2 - time1));}private static void method4() throws IOException {// 创建高效的字节输入流BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\\abc.avi"));// 创建高效的字节输出流BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("abc.avi"));// 一次读写一个字节数组byte[] bys = new byte[1024];int len;while ((len = bis.read(bys)) != -1) {bos.write(bys, 0, len);}// 释放资源bis.close();bos.close();}private static void method3() throws IOException {// 创建高效的字节输入流BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\\abc.avi"));// 创建高效的字节输出流BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("abc.avi"));// 一次读写一个字节int by;while ((by = bis.read()) != -1) {bos.write(by);}// 释放资源bis.close();bos.close();}private static void method2() throws IOException {// 创建基本的字节输入流FileInputStream fis = new FileInputStream("E:\\abc.avi");// 创建基本的字节输出流FileOutputStream fos = new FileOutputStream("abc.avi");// 一次读写一个字节数组byte[] bys = new byte[1024];int len;// 每次真实读到数据的个数while ((len = fis.read(bys)) != -1) {fos.write(bys, 0, len);}// 释放资源fis.close();fos.close();}private static void method1() throws IOException {// 创建基本的字节输入流FileInputStream fis = new FileInputStream("E:\\abc.avi");// 创建基本的字节输出流FileOutputStream fos = new FileOutputStream("abc.avi");// 一次读写一个字节int by;while ((by = fis.read()) != -1) {fos.write(by);}// 释放资源fis.close();fos.close();}
}
这篇关于JAVA——实现字节流四种方式复制AVI并测试效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!