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次,这就使得效率不一样,运行速度也不一样。
  • 相关阅读:
    学习笔记 线程异步请求过程
    学习笔记 urllib
    学习笔记 requests + BeautifulSoup
    python3 kmp 字符串匹配
    python3:实现字符串的全排列(有重复字符)
    python3:实现字符串的全排列(无重复字符)
    python 贝叶斯算法
    knn算法
    python基础5
    python基础4
  • 原文地址:https://www.cnblogs.com/jizehui/p/5342000.html
Copyright © 2011-2022 走看看