copy的效率

import java.io.*;

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

		long start = System.currentTimeMillis();

			copy05();
		long end = System.currentTimeMillis();

		System.out.println((end-start)+"毫秒");
	}
	/*
	通过自定义缓冲区 。30
	*/
	public static void copy01()throws IOException
	{
		FileInputStream fis = new FileInputStream("f:\\0.mp3");
		FileOutputStream fos =  new FileOutputStream("f:\\1.mp3");

		byte[] arr = new byte[1024*8];

		int num = 0;

		while((num=fis.read(arr))!=-1)
		{
			fos.write(arr,0,num);
		}

		fos.close();
		fis.close();
	}
	/*
	建立一个刚刚好的缓冲区。140.
	*/
	public static void copy02()throws IOException
	{
		FileInputStream fis = new FileInputStream("f:\\0.mp3");
		FileOutputStream fos =  new FileOutputStream("f:\\2.mp3");

		byte[] arr = new byte[fis.available()];

		fis.read(arr);

		fos.write(arr);

		fos.close();
		fis.close();
	}
	/*
	使用Buffer 562
	*/
	public static void copy03()throws IOException
	{
		FileInputStream fis = new FileInputStream("f:\\0.mp3");
		BufferedInputStream bufis = new BufferedInputStream(fis);


		FileOutputStream fos =  new FileOutputStream("f:\\3.mp3");
		BufferedOutputStream bufos = new BufferedOutputStream(fos);

		int num = 0;

		while((num=bufis.read())!=-1)
		{
			bufos.write(num);
		}

		bufos.close();
		bufis.close();
	}
	/*
	不适用缓冲区
	*/
	public static void copy04()throws IOException
	{
		FileInputStream fis = new FileInputStream("f:\\0.mp3");
		FileOutputStream fos =  new FileOutputStream("f:\\4.mp3");


		int num = 0;

		while((num=fis.read())!=-1)
		{
			fos.write(num);
		}

		fos.close();
		fis.close();
	}

	/*
	模拟一个BufferInputStream
	*/
	public static void copy05()throws IOException
	{
		FileInputStream fis = new FileInputStream("f:\\9.mp3");
		MyBufferedInputStream bufis = new MyBufferedInputStream(fis);


		FileOutputStream fos =  new FileOutputStream("f:\\8.mp3");
		BufferedOutputStream bufos = new BufferedOutputStream(fos);

		int num = 0;

		while((num=bufis.myRead())!=-1)
		{
			bufos.write(num);
		}

		bufos.close();
		bufis.myClose();
	}
}



//11111111    1111111111111110000100101001010

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值