1. 程式人生 > >IO流的總結(二)

IO流的總結(二)

關閉 The ioe mage ini end color tro 我們

緩沖字節流:

  1. 我們先說一下緩存區的概念:

技術分享圖片

緩沖區就好比一輛車,一車一車的把數據拉走,這樣就效率快多了

按照流的方向分類:

  1. 寫入數據到流中,字節緩沖輸出流 BufferedOutputStream
  2. 讀取流中的數據,字節緩沖輸入流 BufferedInputStream

緩沖字節輸入流與字節流輸入的比較:

字節流的毫秒值

package com.itheima.test;

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

public class Test { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File file=null; file=new File("C:\\Users\\Administrator\\Desktop\\愛剪輯-我的視頻.mp4"); //一個視頻文件 FileInputStream in=new FileInputStream(file);
//字節流 long star= System.currentTimeMillis(); //流開始的毫秒值 byte[] by=new byte[1024]; //字節數組用來存放數據 while (in.read(by) !=-1) { //如果不等於-1那麽還能讀到數據 } long end= System.currentTimeMillis(); //流結束的毫秒值 System.out.println("字節流讀取文件的毫秒是"+(end-star));
if (in!=null) { in.close(); //關閉字節流 } } }

技術分享圖片

緩沖字節流的毫秒值:

package com.itheima.test;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class Test {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        File file=null;
        file=new File("C:\\Users\\Administrator\\Desktop\\愛剪輯-我的視頻.mp4");
        //一個視頻文件
        FileInputStream in=new FileInputStream(file);
        //字節流
        long star=    System.currentTimeMillis();
        //流開始的毫秒值
        BufferedInputStream bi=null;
        bi=new BufferedInputStream(in);
        //緩沖字節流
        byte[] by=new byte[1024];
        //字節數組用來存放數據
        while (bi.read(by) !=-1) {
            //如果不等於-1那麽還能讀到數據
            
        }
        long end=    System.currentTimeMillis();
        //流結束的毫秒值
        System.out.println("緩沖字節流讀取文件的毫秒是"+(end-star));
        if (bi !=null) {
            bi.close();
            //關閉緩沖字節流
        }
        if (in!=null) {
            in.close();
            //關閉字節流
        }
    }

}

技術分享圖片

只用了63毫秒,比之前的字節流效率提高了4倍!

IO流的總結(二)