IO流--buffer
生活随笔
收集整理的這篇文章主要介紹了
IO流--buffer
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
示例展示:
package buffer;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;/*** 使用緩沖字節(jié)流復制文件 (包裝流)* BufferedInputStream BufferedOutputStream* @author superdrew* * 使用緩沖字節(jié)流 可以提高讀寫的效率* 1.認識什么是緩沖流* InputStream OutputStream 字節(jié)流 * BufferedInputStream BufferedOutputStream 處理流 包裝流* * 2.好處:* 提供了緩沖區(qū),提高了效率,簡化操作 * 3.原理:輸入流和輸出流兩段提供了 默認大小是 8192 的緩沖區(qū) 占用內存空間* 其實就是一個字節(jié)數(shù)組 * 具體原理:看圖* 減少硬盤的讀取次數(shù),效率提高了** 使用緩沖區(qū) 如果流不關閉,文件小于8192,復制完沒有任何內容* 4.輸出緩沖區(qū)的刷新* 1.手動刷新 bos.flush(); * 2.自動刷新 滿了自動刷新* 3.close時,會自動刷新** 5.關閉高層流的時候,底層的流會自動關閉*/ public class TestBuffered {public static void main(String[] args) throws IOException {//創(chuàng)建 緩沖字節(jié)流 輸入流/*InputStream in = new FileInputStream("d:/sxt.txt");BufferedInputStream bis = new BufferedInputStream(in);*///創(chuàng)建緩沖字節(jié)流 輸出流/*OutputStream os = new FileOutputStream("d:/sxt2.txt");BufferedOutputStream bos = new BufferedOutputStream(os);*///合并上面代碼:簡化BufferedInputStream bis = new BufferedInputStream(new FileInputStream("d:/mp4.rmvb"));//資源路徑(相對/絕對)BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:/mp42.rmvb"));//資源路徑(相對/絕對)//中轉站 一個字節(jié)(水杯)/*int n =0;n = bis.read();while(n!=-1){bos.write(n);n = bis.read();}*///中轉站使用 一個 字節(jié)數(shù)組 (水桶)byte [] buf = new byte [1024];int n = bis.read(buf);while(n!=-1){bos.write(buf,0,n);//寫n = bis.read(buf);//再讀 }//手動刷新輸出流的緩沖區(qū)//bos.flush();//關閉 bos.close();bis.close();/*os.close(); //可有可無!in.close();*/} }結果展示:就得自己玩了。。
轉載于:https://www.cnblogs.com/superdrew/p/8084943.html
總結
以上是生活随笔為你收集整理的IO流--buffer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Stupid cat Doge (分形
- 下一篇: 计算机测试题目及答案6,2017年计算机