zoukankan      html  css  js  c++  java
  • 字节流读写文件效率问题

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class fuzhi2 {
        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);
    }
    更改后一次往磁盘文件中写入了1024个字节,而原代码方法一次只写入1个字节,则需要写1024次,这就使得效率不一样,运行速度也不一样。
  • 相关阅读:
    7、cad图纸打印
    对账
    练习10—去掉图片文字
    6、cad里面如何快速将图纸的线条全部变成黑色
    5、cad如何快速选中图纸上所有文字
    4、如何修改cad的背景色为白色
    练习九—快速修饰面部光影
    iOS alloc&init探索
    export default / export const
    Vue2.0+组件库总结
  • 原文地址:https://www.cnblogs.com/jizehui/p/5342000.html
Copyright © 2011-2022 走看看