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次,这就使得效率不一样,运行速度也不一样。
  • 相关阅读:
    博客作业06--图
    博客作业05--查找
    博客作业04--树
    博客作业03--栈和队列
    博客作业2---线性表
    博客作业01-抽象数据类型
    C语言最后一次博客作业
    C语言第十次博客作业--结构体
    C语言第九次博客作业--指针
    C语言第八次博客作业--字符数组
  • 原文地址:https://www.cnblogs.com/jizehui/p/5342000.html
Copyright © 2011-2022 走看看