- package cn04;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- /**
- * 需求:把d:\\爸爸去哪儿.mp3复制到项目路径下x.mp3(x=1,2,3,4)
- *
- * @author Administrator
- *
- * 基本字节流一次读写一个字节:耗时:52194毫秒
- * 基本字节流一次读写一个字节数组:耗时:177毫秒
- * 高效字节流一次读写一个字节:耗时:27985毫秒
- * 高效字节流一次读写一个字节数组:耗时:53毫秒
- */
- public class copyMp3Test {
- public static void main(String[] args) throws IOException {
- long start = System.currentTimeMillis();
- // show1();
- // show2();
- // show3();
- show4();
- long end = System.currentTimeMillis();
- System.out.println("耗时:" + (end - start) + "毫秒");
- }
- private static void show4() throws IOException {
- // 高效字节流一次读写一个字节数组
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
- "d:\\爸爸去哪儿.mp3"));
- BufferedOutputStream bos = new BufferedOutputStream(
- new FileOutputStream("4.mp3"));
- byte[] bys = new byte[1024];
- int len = 0;
- while ((len = bis.read(bys)) != -1) {
- bos.write(bys, 0, len);
- bos.flush();
- }
- // 释放资源
- bos.close();
- bis.close();
- }
- private static void show3() throws IOException {
- // 高效字节流一次读写一个字节
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
- "d:\\爸爸去哪儿.mp3"));
- BufferedOutputStream bos = new BufferedOutputStream(
- new FileOutputStream("3.mp3"));
- int by = 0;
- while ((by = bis.read()) != -1) {
- bos.write(by);
- bos.flush();
- }
- // 释放资源
- bos.close();
- bis.close();
- }
- private static void show2() throws IOException {
- // 基本字节流一次读写一个字节数组
- FileInputStream fis = new FileInputStream("d:\\爸爸去哪儿.mp3");
- FileOutputStream fos = new FileOutputStream("2.mp3");
- byte[] bys = new byte[1024];
- int len = 0;
- while ((len = fis.read(bys)) != -1) {
- fos.write(bys, 0, len);
- fos.flush();
- }
- // 释放资源
- fos.close();
- fis.close();
- }
- private static void show1() throws IOException {
- // 基本字节流一次读写一个字节
- FileInputStream fis = new FileInputStream("d:\\爸爸去哪儿.mp3");
- FileOutputStream fos = new FileOutputStream("1.mp3");
- int by = 0;
- while ((by = fis.read()) != -1) {
- fos.write(by);
- fos.flush();
- }
- // 释放资源
- fos.close();
- fis.close();
- }
- }
- BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。 该类提供了 newLine() 方法,它使用平台自己的行分隔符概念,此概念由系统属性 line.separator 定义。
复制代码 |