字節緩沖流


緩沖流

讀取數據量大的文件時,讀取的速度會很慢,很影響我們程序的效率

Java中提高了一套緩沖流,它的存在,可提高IO流的讀寫速度

1 字節緩沖流

字節緩沖流根據流的方向,共有2個

 寫入數據到流中,字節緩沖輸出流 BufferedOutputStream

 讀取流中的數據,字節緩沖輸入流 BufferedInputStream

它們的內部都包含了一個緩沖區,通過緩沖區讀寫,就可以提高了IO流的讀寫速度。

1.1 字節緩沖輸出流BufferedOutputStream

構造方法:public BufferedOutputStream(OutputStream out)

復制代碼
    //字節輸出緩沖流 public static void method01() throws IOException{ FileOutputStream fos=new FileOutputStream("E:\\java\\demo.txt"); BufferedOutputStream bos=new BufferedOutputStream(fos); fos.write(100); bos.close(); }
復制代碼

1.2字節緩沖輸入流BufferedInputStream

構造方法:

public BufferedInputStream(InputStream in) 

復制代碼
//字節輸入緩沖流 public static void method02() throws IOException{ FileInputStream fis=new FileInputStream("E:\\java\\demo.txt"); BufferedInputStream bis=new BufferedInputStream(fis); int len=0; while((len=bis.read())!=-1){ System.out.println((char)len); } bis.close(); }
復制代碼

   使用基本的流與高效的流完成復制文件

復制代碼
//單個字節,字節緩沖流復制 public static void method04() throws IOException{ //明確數據源 FileInputStream fis=new FileInputStream("E:\\java\\aaa.zip"); BufferedInputStream bis=new BufferedInputStream(fis); //明確目的地 FileOutputStream fos=new FileOutputStream("E:\\java\\a\\aaa.zip"); BufferedOutputStream bos=new BufferedOutputStream(fos); //開始復制 long time1=System.currentTimeMillis(); int len=0; byte[] ch=new byte[1024]; while((len=bis.read(ch))!=-1){ bos.write(ch,0,len); } long time2=System.currentTimeMillis(); System.out.println(time2-time1); //釋放資源  bos.close(); bis.close(); }
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM