Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率
2015-10-08 19:30
846 查看
1. 需求:把e:\\哥有老婆.mp4 复制到当前项目目录下的copy.mp4中
字节流四种方式复制文件:
• 基本字节流一次读写一个字节
• 基本字节流一次读写一个字节数组
• 高效字节流一次读写一个字节
• 高效字节流一次读写一个字节数组
2. 代码示例:
字节流四种方式复制文件:
• 基本字节流一次读写一个字节
• 基本字节流一次读写一个字节数组
• 高效字节流一次读写一个字节
• 高效字节流一次读写一个字节数组
2. 代码示例:
package cn.itcast_06; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 需求:把e:\\哥有老婆.mp4复制到当前项目目录下的copy.mp4中 * * 字节流四种方式复制文件: * 基本字节流一次读写一个字节: 共耗时:117235 毫秒 * 基本字节流一次读写一个字节数组: 共耗时:156 毫秒 * 高效字节流一次读写一个字节: 共耗时:1141 毫秒 * 高效字节流一次读写一个字节数组: 共耗时:47 毫秒 */ public class CopyMp4Demo { public static void main(String[] args) throws IOException { long start = System.currentTimeMillis(); // method1("e:\\哥有老婆.mp4", "copy1.mp4"); // method2("e:\\哥有老婆.mp4", "copy2.mp4"); // method3("e:\\哥有老婆.mp4", "copy3.mp4"); method4("e:\\哥有老婆.mp4", "copy4.mp4"); long end = System.currentTimeMillis(); System.out.println("共耗时:" + (end - start) + "毫秒"); } // 高效字节流一次读写一个字节数组: public static void method4(String srcString, String destString) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcString)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destString)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } // 高效字节流一次读写一个字节: public static void method3(String srcString, String destString) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream( srcString)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(destString)); int by = 0; while ((by = bis.read()) != -1) { bos.write(by); } bos.close(); bis.close(); } // 基本字节流一次读写一个字节数组 public static void method2(String srcString, String destString) throws IOException { FileInputStream fis = new FileInputStream(srcString); FileOutputStream fos = new FileOutputStream(destString); byte[] bys = new byte[1024]; int len = 0; while ((len = fis.read(bys)) != -1) { fos.write(bys, 0, len); } fos.close(); fis.close(); } // 基本字节流一次读写一个字节 public static void method1(String srcString, String destString) throws IOException { FileInputStream fis = new FileInputStream(srcString); FileOutputStream fos = new FileOutputStream(destString); int by = 0; while ((by = fis.read()) != -1) { fos.write(by); } fos.close(); fis.close(); } }
相关文章推荐
- Spring MVC 全注解的方式实现单个和多个文件上传
- Spring MVC 全注解的方式实现单个和多个文件上传
- Eclipse JEE & ADE & Git & SVN & AXIS2/ Wtp
- Idea 编译报错 javacTask: 源发行版 1.6 需要目标发行版 1.6
- struts2中的标签什么时候用#,上面时候用%{},上面时候用%{#}小结
- Java基础知识强化之IO流笔记27:FileInputStream读取数据一次一个字节数组byte[ ]
- Java泛型总结
- javaEE学习笔记【01】集成环境开发应用、JDK新特性
- eclipse与AVD模拟器断开问题
- Java-WebSocket
- Java____实现定时任务的三种方法
- java多线程基础
- spring 通过编程来获取属性文件
- eclipse svn操作
- Java基础学习笔记【12】Reflect反射(2)
- Java基础学习笔记【11】Reflect反射(1)
- Java语言简介
- Java____Timer实现定时功能及其源码研究
- Java基础学习笔记【10】打印流、管道流
- Java基础学习笔记【09】文件流、AutoCloseable资源释放接口