字节流读写文件的效率问题

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class p1 {
    public static void main(String []args){
        try {
            FileInputStream fis =new FileInputStream("a.mp3");
            FileOutputStream fos =new FileOutputStream("a4.mp3");
            int read=fis.read();
            byte[] buf = new byte[1024];
            int len = 0 ;
            while((len=fis.read(buf)) != -1){
            fos.write(buf,0,len);
//            read=fis.read();
            }
//            while(read !=-1){
//                fos.write(read);
//                read=fis.read();
//            }
            fis.close();
            fos.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

}


      通过对代码的读写进行一些改变,可以让原本缓慢的读写变得高效率起来,原来复制一首歌曲需要10s以上,现在通过改善,1s之内即能把歌曲复制出来。更改的代码如下:

    原代码:

         read=fis.read();   
         while(read !=-1){
                fos.write(read);
                read=fis.read();
            }
更改后:
            int read=fis.read();
            byte[] buf = new byte[1024];
            int len = 0 ;
            while((len=fis.read(buf)) != -1){
            fos.write(buf,0,len);
}
实验显示用二进制流会比字符流的程序运行更为快捷,这就使得效率不一样,变得极大的提高。
posted @ 2016-04-08 17:02  大橙子桑  阅读(355)  评论(0编辑  收藏  举报