(緩衝流、轉換流、序列化流)
阿新 • • 發佈:2018-12-10
1.緩衝流,也叫高效流,是對4個基本的FileXxx流的增強,所以也是4個流,按照資料型別分類:
-
位元組緩衝流:BufferedInputStream,BufferedOutputStream
-
字元緩衝流:BufferedReader,BufferedWriter
緩衝流的基本原理,是在建立流物件時,會建立一個內建的預設大小的緩衝區陣列,通過緩衝區讀寫,減少系統IO次數,從而提高讀寫的效率。
1.2 位元組緩衝流
構造方法
-
public BufferedInputStream(InputStream in) :建立一個 新的緩衝輸入流。
-
public BufferedOutputStream(OutputStream out) :建立一個新的緩衝輸出流。
構造舉例,程式碼如下:
// 建立位元組緩衝輸入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt"));
// 建立位元組緩衝輸出流
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt"));
使用緩衝流可以大大提高讀寫的效率,可以通過以下程式碼看出
public class Demo01 { public static void main(String[] args) throws IOException { long start = System.currentTimeMillis(); BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\\a.png")); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("F:\\a.png")); byte[] bytes = new byte[1024]; int len ; while ((len = bis.read(bytes)) != -1) { bos.write(bytes, 0, len); } bos.close(); bis.close(); long end = System.currentTimeMillis(); System.out.println("共耗時" + (end - start) + "毫秒"); } }